['kind', 'breed'], '=' => ['user_id', 'land_id', 'user', 'status', 'plant_date'], ]; } /** * @notes 搜索条件 * @author 段誉 * @date 2023/2/24 16:08 */ public function queryWhere() { $where = []; if (!empty($this->params['keyword'])) { $where[] = ['kind|breed', 'like', '%' . $this->params['keyword'] . '%']; } return $where; } public function userSearch(): array { $userWhere['user_id'] = 0; // 超级管理员数据 if ($this->adminInfo['root'] && !$this->adminInfo['user_id']) { unset($userWhere['user_id']); } // 普通用户数据 if (!$this->adminInfo['root'] && $this->adminInfo['user_id']) { $userWhere['user_id'] = $this->adminInfo['user_id']; } return $userWhere; } /** * @notes 获取列表 * @return array * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException * @author likeadmin * @date 2023/11/23 11:32 */ public function lists(): array { return LandPlant::where($this->queryWhere())->where($this->searchWhere)->where($this->userSearch())->with('land') ->field(['id', 'land_id', 'user_id', 'kind', 'breed', 'area', 'user', 'status', 'pic', 'qr_code', 'plant_date', 'remark']) ->limit($this->limitOffset, $this->limitLength) ->order(['id' => 'desc']) ->select() ->toArray(); } /** * @notes 获取数量 * @return int * @author likeadmin * @date 2023/11/23 11:32 */ public function count(): int { return LandPlant::where($this->queryWhere())->where($this->searchWhere)->where($this->userSearch())->count(); } }