// +---------------------------------------------------------------------- namespace app\dao\user; use crmeb\basic\BaseDao; use app\model\user\UserAddress; /** * 用户收获地址 * Class UserAddressDao * @package app\dao\user */ class UserAddressDao extends BaseDao { /** * 设置模型 * @return string */ protected function setModel(): string { return UserAddress::class; } /** * 获取列表 * @param array $where * @param string $field * @param int $page * @param int $limit * @return array * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function getList(array $where = [], string $field = '*', int $page = 0, int $limit = 0): array { return $this->search($where)->field($field)->page($page, $limit)->order('is_default DESC,id DESC')->select()->toArray(); } /** * 批量获取多个用户的默认地址,按 uid 索引 * @param array $uids * @return array */ public function getDefaultAddressMapByUids(array $uids): array { if (!$uids) { return []; } return $this->getColumn([['uid', 'in', array_unique($uids)], ['is_default', '=', 1], ['is_del', '=', 0]], 'province,city,district,detail', 'uid'); } }