where('uid', $uid) ->order('is_default', 'desc') ->order('id', 'desc') ->select() ->toArray(); } /** * 获取默认地址 * @param int $uid * @return array|null */ public function getDefaultAddress($uid) { $address = $this->where('uid', $uid) ->where('is_default', 1) ->find(); if (!$address) { // 如果没有默认地址,返回第一个 $address = $this->where('uid', $uid)->order('id', 'desc')->find(); } return $address ? $address->toArray() : null; } /** * 设置默认地址 * @param int $id * @param int $uid * @return bool */ public function setDefault($id, $uid) { // 先取消所有默认 $this->where('uid', $uid)->update(['is_default' => 0]); // 设置当前为默认 return $this->where('id', $id)->where('uid', $uid)->update(['is_default' => 1]); } }