['status'], '%like%' => ['codes', 'name', 'detail'], ]; } public function queryWhere() { $where = []; if (isset($this->params['type_id']) && $this->params['type_id'] !== '') { $pid = FaultType::where('id', $this->params['type_id'])->value('pid'); if ($pid == 0) { $where[] = ['type_id', 'in', FaultType::where('pid', $this->params['type_id'])->column('id')]; } else { $where[] = ['type_id', '=', $this->params['type_id']]; } } return $where; } /** * @notes 获取列表 * @return array * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException * @author likeadmin * @date 2024/10/18 09:58 */ public function lists(): array { return FaultCode::with(['faultType'])->where($this->searchWhere) ->where($this->queryWhere()) ->field(['*']) ->limit($this->limitOffset, $this->limitLength) ->order(['id' => 'asc']) ->select() ->toArray(); } /** * @notes 获取数量 * @return int * @author likeadmin * @date 2024/10/18 09:58 */ public function count(): int { return FaultCode::where($this->searchWhere)->where($this->queryWhere())->count(); } }