Yii2 数据搜索类 PostSearch
数据搜索类 PostSearch
/** * @Purpose : 添加 authorName 属性,使属性和搜索表单相对应 * @return array */ public function attributes() { return array_merge(parent::attributes(),['authorName']); } /** * @purpose : 重写验证规则,使其符合表单提交的验证需求 * @inheritdoc */ public function rules() { return [ [['id', 'status', 'create_time', 'update_time', 'author_id'], 'integer'], [['title', 'content', 'tags','authorName'], 'safe'], ]; } public function search($params) { // 搜索的实现 : 是靠查询构建器程序化得构建查询,然后交给数据提供者,在后续阶段去执行查询 $query -> join('INNER JOIN','Adminuser','Post.author_id=Adminuser.id'); $query ->andFilterWhere(['like','Adminuser.nickname',$this->authorName]); // 排序的实现: 程序化得设置数据提供者 DataProvider 的 sort 配置来实现的 $dataProvider -> sort -> attributes['authorName'] = [ 'asc' => ['Adminuser.nickname' => SORT_ASC], 'desc'=> ['adminuser.nickname' => SORT_DESC], ]; return $dataProvider; }
注:本文为作者(44106-kangaroo) 看完魏羲教你学Yii2.0 视频后所记,如有转载请注明出处:http://www.cnblogs.com/chrdai/p/7966793.html