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
Yii2 数据搜索类 PostSearch的更多相关文章
- yii2 数据提供者 dataProvider
		
数据提供者 dataProvider $dataProvider = new ActiveDataProvider([ 'query' => $query, // 如何来取得数据 'pagina ...
 - Elasticsearch 数据搜索篇·【入门级干货】
		
ES即简单又复杂,你可以快速的实现全文检索,又需要了解复杂的REST API.本篇就通过一些简单的搜索命令,帮助你理解ES的相关应用.虽然不能让你理解ES的原理设计,但是可以帮助你理解ES,探寻更多的 ...
 - C#-ade.net-实体类、数据访问类
		
实体类.数据访问类 是由封装演变而来,使对数据的访问更便捷,使用时只需要调用即可,无需再次编写代码 实体类是按照数据库表的结构封装起来的一个类 首先,新建文件夹 App_Code ,用于存放数据库类等 ...
 - 我的DbHelper数据操作类
		
其实,微软的企业库中有一个非常不错的数据操作类了.但是,不少公司(起码我遇到的几个...),对一些"封装"了些什么的东西不太敢用,虽然我推荐过微软的企业库框架了...但是还是要&q ...
 - ado.net 实体类_数据访问类
		
实体类: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ...
 - 9_13学习完整修改和查询&&实体类,数据访问类
		
完整修改和查询:中间变量运用. 1.先查 2.执行操作 ---------------------------------------------------- namespace ADO.NET_小 ...
 - JavaScript 数据验证类
		
JavaScript 数据验证类 /* JavaScript:验证类 author:杨波 date:20160323 1.用户名验证 2.密码验证 3.重复密码验证 4.邮箱验证 5.手机号验证 6. ...
 - C# - DataValid数据验证类
		
从EasyCode 摘取下来的数据验证类 using System; using System.Collections.Generic; using System.Text; namespace Le ...
 - ADO.net 实体类 、数据访问类
		
程序分三层:界面层.业务逻辑层.数据访问层 比较规范的写程序方法,要把业务逻辑层和数据访问层分开,此时需要创建实体类和数据访问类 实体类: 例 using System; using System.C ...
 
随机推荐
- STL用法大全
			
1. 概述 泛型编程思想最早缘于A.Stepanov提出的部分算法可独立于数据结构的论断.20世纪90年代初A.Stepanov和Meng Lee根据泛型编程的理论用C++共同编写了STL.但直 ...
 - exec函数族
			
进程程序替换 进程程序替换原理 fork创建子进程执行的是和父进程相同的程序(也有可能是某个分支),通常fork出的子进程是为了完成父进程所分配的任务,所以子进程通常会调用一种exec函数(六种中的任 ...
 - C#获取一周的工作日显示(星期几)
			
代码如下: gridBandW1.Caption = System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.GetDayName ...
 - Tomcat8 启动慢 Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [53,161] milliseconds
			
修改$JAVA_PATH/jre/lib/security/java.security文件 将 securerandom.source=file:/dev/random 修改为 securerando ...
 - HDU 1384 Intervals【差分约束-SPFA】
			
类型:给出一些形如a−b<=k的不等式(或a−b>=k或a−b<k或a−b>k等),问是否有解[是否有负环]或求差的极值[最短/长路径].例子:b−a<=k1,c−b&l ...
 - CentOS6—HAProxy安装与配置
			
概述 Haproxy下载地址:http://pkgs.fedoraproject.org/repo/pkgs/haproxy/ 关闭SElinux.配置防火墙 1.vi /etc/selinux/co ...
 - WPF中矢量图制作和引用
			
WPF程序有时需要适配不同大小的屏幕,图片是像素图的话,拉伸之后会变模糊,影响美观度,因此可以考虑使用矢量图.网上找到了相应的介绍:http://learnwpf.com/post/2006/06/0 ...
 - Codeforces 1045C Hyperspace Highways (看题解) 圆方树
			
学了一下圆方树, 好神奇的东西呀. #include<bits/stdc++.h> #define LL long long #define fi first #define se sec ...
 - .net core webapi 将localhost改成ip地址
			
用管理员身份运行vs 添加引用 using Microsoft.AspNetCore.Cors; 修改 public void Configure(IApplicationBuilder app, I ...
 - Hdu-2008
			
杭电OJ-2008 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2008 #include<stdio.h> int main() { i ...