search($where)->with('user')->when($page && $limit, function ($query) use ($page, $limit) { $query->page($page, $limit); })->when($realName && $fieldKey && in_array($fieldKey, ['id', 'phone']), function ($query) use ($where, $realName, $fieldKey) { $query->whereLike($fieldKey, '%' . $where['keyword'] . '%'); })->when($realName && !$fieldKey, function ($query) use ($where) { $query->whereLike('uid|id|nickname|phone', '%' . $where['keyword'] . '%'); })->when(isset($where['noId']), function ($query) use ($where) { $query->where('id', '<>', $where['noId']); })->order('id DESC')->field('id,uid,avatar,nickname as wx_name,status,add_time,phone')->select()->toArray(); } /** * 获取配送员select * @param array $where * @return array */ public function getSelectList(array $where) { return $this->search($where)->field('uid,nickname')->select()->toArray(); } }