QueryParamAuth::className(), 'tokenParam' => 'token', 'optional' => ['index','category','details'] ] ]); } public function actionIndex() { $params = request()->get(); $query = Policy::find()->select('id,title,author,created_at,summary'); //过滤查询的政策 $query->andWhere(new \yii\db\Expression('FIND_IN_SET("'. Policy::TYPE_SEARCH .'", type)')); if(!empty($params)){ $arr = []; foreach ($params as $key=>$value) { if($key == 'page' || $key == 'page_no'){ continue; } if($value){ $fd = $key.'_' . $value; $query->orWhere(new \yii\db\Expression('FIND_IN_SET("'.$fd.'", filter)')); } } } return new ActiveDataProvider([ 'query' => $query, 'pagination' => [ 'pageParam' => 'page_no', 'pageSizeParam' => 'page_size', ], 'sort' => [ 'defaultOrder' => [ 'created_at' => SORT_ASC, ] ] ]); } public function actionCategory() { $lists = Config::find()->select(['name','value','extra','description','type'])->where(['group' => 'policy'])->asArray()->all(); foreach ($lists as &$value) { $arr = []; $val = explode("\r\n",$value['value']); $extra = explode("\r\n",$value['extra']); foreach($extra as $k => $v){ $arr[] = [ 'name'=>$v, 'value'=>$val[$k] ?: (string)($k + 1) ]; } $value['data'] = $arr; unset($value['extra'],$value['value'],$value['type']); } return ['data' => $lists]; } public function actionDetails($id) { $model = Policy::find()->where(['id' => $id])->select('id,content,author,created_at,title')->one(); return ['data' => $model]; } }