// +---------------------------------------------------------------------- declare (strict_types=1); namespace app\admin\model; use app\common\model\Course as CourseModel; class Course extends CourseModel { /** * 获取列表数据 * @param bool $isRecycle * @return \think\Paginator * @throws \think\db\exception\DbException */ public function getList(int $courseCategoryId, int $pageSize ): \think\Paginator { if(empty($courseCategoryId)){ $list = $this->order(['course_id' => 'desc'])->paginate($pageSize); } else { $list = $this->where('course_category_id',$courseCategoryId) ->order(['course_id' => 'desc'])->paginate($pageSize); } return $list; } public function list(array $param = []): \think\Paginator { $pageSize = isset($param['pageSize']) && !empty($param['pageSize']) ? (int)$param['pageSize'] : 15; // 检索查询条件 $filter = $this->getFilter($param); $list = $this->where($filter) ->order(['sort' => 'asc','create_time' => 'desc']) ->paginate($pageSize); return $list; } /** * 获取查询条件 * @param array $param * @return array */ private function getFilter(array $params= []): array { // 检索查询条件 $filter = []; !empty($params['search']) && $filter[] = ['course_name|course_subheading', 'like', "%{$params['search']}%"]; isset($params['courseCategory']) && $filter[] = ['course_category_id', 'in', explode(",", $params['courseCategory'])]; return $filter; } }