where('user_id', $id)->select($this->select_column)->get(); } /** * @throws ApiException */ public function createAddress(array $params) { $user_id = Auth::id(); $params['user_id'] = $user_id; DB::beginTransaction(); try { // 判断状态 if ($params['status']) { // 更改所有地址状态为0 Address::query()->where('user_id', $user_id)->update(['status' => 0]); } $address = self::toModel($params, Address::class); $admin_id = Address::query()->create($address->getAttributes())->id; DB::commit(); return $admin_id; } catch (\Exception) { DB::rollBack(); self::error('操作失败'); } } public function getAddress(int $address_id) { $id = Auth::id(); return Address::query()->where('user_id', $id)->select($this->select_column)->find($address_id); } /** * @throws ApiException */ public function updateAddress(array $data, int $id): void { $user_id = Auth::id(); $data['user_id'] = $user_id; DB::beginTransaction(); try { // 判断状态 if ($data['status']) { // 更改所有地址状态为0 Address::query()->where('user_id', $user_id)->update(['status' => 0]); } $user = self::toModel(['id' => $id, ...$data], Address::class); $user->save(); DB::commit(); } catch (\Exception) { DB::rollBack(); self::error('操作失败'); } } public function delAddress($id): void { $user_id = Auth::id(); $user = Address::query()->where('user_id', $user_id)->find($id); $user->delete(); } public function getDefault() { $user_id = Auth::id(); $where = ['user_id' => $user_id, 'status' => 1]; return Address::query()->where($where)->select($this->select_column)->first(); } }