['name'] ]; } /** * @notes 获取列表 * @return array * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException * @author 段誉 * @date 2023/2/23 18:43 */ public function lists(): array { return KnowledgeFileSlice::alias('k') ->field('k.*, u.nickname,u.avatar') ->join('user u', 'u.id = k.user_id') ->when($this->request->get('id'), function ($query) { $query->where('k.rid', '=', $this->request->get('id')); }) ->when($this->request->get('name'), function ($query) { $query->where('k.content', 'like', '%'. $this->request->get('name'). '%'); }) ->when($this->request->get('start_time') && $this->request->get('end_time'), function ($query) { $query->whereBetween('k.create_time', [strtotime($this->request->get('start_time')), strtotime($this->request->get('end_time'))]); }) ->when($this->request->get('status'), function ($query) { $query->where('k.status', '=', $this->request->get('status')); }) ->where($this->searchWhere) ->order(['k.create_time' => 'desc']) ->limit($this->limitOffset, $this->limitLength) ->select() ->toArray(); } /** * @notes 获取数量 * @return int * @author 段誉 * @date 2023/2/23 18:43 */ public function count(): int { return KnowledgeFileSlice::alias('k') ->field('k.*, u.nickname,u.avatar') ->join('user u', 'u.id = k.user_id') ->when($this->request->get('id'), function ($query) { $query->where('k.rid', '=', $this->request->get('id')); }) ->when($this->request->get('name'), function ($query) { $query->where('k.content', 'like', '%'. $this->request->get('name'). '%'); }) ->when($this->request->get('start_time') && $this->request->get('end_time'), function ($query) { $query->whereBetween('k.create_time', [strtotime($this->request->get('start_time')), strtotime($this->request->get('end_time'))]); }) ->when($this->request->get('status'), function ($query) { $query->where('k.status', '=', $this->request->get('status')); }) ->where($this->searchWhere) ->count(); } }