model = new \app\model\Questionnaire; $statusList = $this->model->getStatusList(); $this->assign("statusList", $statusList); $this->assignconfig("statusList", $statusList); $categoryList = $this->model->getCategoryOptions(); $this->assign("categoryList", $categoryList); $this->assignconfig("categoryList", $categoryList); } /** * selectpage * @param \support\Request $request */ function selectpage(Request $request) { $searchValue = $request->input('searchValue'); $searchTable = $request->input('searchTable'); $searchKey = $request->input('searchKey'); $orderBy = $request->input('orderBy'); $showField = $request->input('showField'); $keyField = $request->input('keyField'); $keyValue = $request->input('keyValue'); $searchField = $request->input('searchField'); [$where, $format, $limit, $field, $order] = $this->selectInput($request); $query = $this->doSelect($where, $field, $order); $ids = \app\model\Product::distinct(true)->column('questionnaire_id'); if($keyValue && $keyField){ $query = $query->whereIn($keyField,$keyValue); $ids =array_diff([$keyValue?:0],$ids); } if($showField && input($showField)){ $query = $query->whereLike($showField,'%'.input($showField).'%'); } $query = $query->whereNotIn('id',$ids); $list = $query->field([$showField,$keyField])->paginate($limit); return $this->success('ok',$list); } }