join('wechat_user u', 'u.uid=a.uid') ->join('system_store s', 'a.store_id = s.id') ->field('a.id,u.nickname,a.avatar,a.staff_name,a.status,a.add_time,s.name'); if (isset($where['store_id']) && $where['store_id'] != '') { $model = $model->where('store_id', $where['store_id']); } if ($where['name']) $model = $model->where('u.uid|u.nickname', '=', $where['name']); $count = $model->count(); $model = $model->page((int)$where['page'], (int)$where['limit']); $data = $model->select(); return compact('count', 'data'); } /** * 设置查找店员条件 * @param array $where * @return $this */ public static function staffWhere(array $where = []) { $model = User::where('uid', 'not in', function ($query) { $query->name('system_store_staff')->field('uid')->select(); }); if (isset($where['nickname']) && $where['nickname']) { $model->where('nickname|phone', 'like', "%$where[nickname]%"); } return $model; } /** * 获取选择的商城用户 */ public static function getUserList($page = 1, $limit = 10, $nickname = '') { $list = self::staffWhere(['nickname' => $nickname])->page($page, $limit)->select(); $count = self::staffWhere(['nickname' => $nickname])->count(); return ['data' => $list, 'count' => $count]; } }