Yii模型操作之criteria查找数据库的方法


Posted in PHP onJuly 15, 2016

本文实例讲述了Yii模型操作之criteria查找数据库的方法。分享给大家供大家参考,具体如下:

数据模型搜索方法:

public function search()
{
  // Warning: Please modify the following code to remove attributes that
  // should not be searched.
  $criteria=new CDbCriteria;
  $criteria->compare('id',$this->id);
  $criteria->compare('title',$this->title,true); //支持模糊查找
  $criteria->compare('content',$this->content,true); //支持模糊查找
  $criteria->compare('type',$this->type);
  $criteria->compare('user',$this->user,true); //支持模糊查找
  $criteria->compare('status',$this->status);
  $criteria->compare('create_data',$this->create_data,true); //支持模糊查找
  return new CActiveDataProvider($this, array(
    'criteria'=>$criteria,
    'pagination'=>array(
      'pageSize'=>50,
    ),
  ));
}

定义比较运算:

$criteria->compare('create_time','<='.$this->endtime),
//创建早间小于等于指定时间

定义要查找的字段:

//查找的结果
$criteria->select = 'id,title,content,author,status,createtime',
//也可以以下一种方式定义
$criteria->select = array('id','title','content','author','status','createtime'),

定义填加查找条件:

//定义条件
$criteria->select = 'status=1',
//添加匹配
$criteria->compare('title',$this->title,true),
//添加条件 $condition可以是数组,也可以是字符串,and可以省略
$criteria->addCondition($condition,'and'),
//添加IN条件 $column为字段名
$criteria->addInCondition(string $column, array $values, string $operator='AND')
//添加notin条件
$criteria->addNotInCondition(string $column, array $values, string $operator='AND')
//添加like条件
$criteria->addSearchCondition(string $column, string $keyword),
//添加Between条件
$criteria->addBetweenCondition(string $column, string $valueStart, string $valueEnd, string $operator='AND'),

JOIN连表查询

$criteria->join = 'LEFT JOIN users ON users.id=authorID',

order查询结果排序:

$criteria->order = 'createtime DESC',

group结果分组:

$criteria->group = 'projectID, teamID',

having筛选分组结果分组数量:

$criteria->having = 'SUM(revenue)<50000',

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

PHP 相关文章推荐
用php写的serv-u的web申请账号的程序
Oct 09 PHP
一个程序下载的管理程序(二)
Oct 09 PHP
php下使用iconv需要注意的问题
Nov 20 PHP
php中生成随机密码的自定义函数代码
Oct 21 PHP
PHP实现自动登入google play下载app report的方法
Sep 23 PHP
php查找字符串出现次数的方法
Dec 01 PHP
thinkphp备份数据库的方法分享
Jan 04 PHP
php解析字符串里所有URL地址的方法
Apr 03 PHP
php自定义hash函数实例
May 05 PHP
PHP和MYSQL实现分页导航思路详解
Apr 11 PHP
Laravel validate error处理,ajax,json示例
Oct 25 PHP
PHP函数用法详解【初始化、嵌套、内置函数等】
Jun 02 PHP
功能强大的PHP POST提交数据类
Jul 15 #PHP
Yii的Srbac插件用法详解
Jul 14 #PHP
Yii中srbac权限扩展模块工作原理与用法分析
Jul 14 #PHP
Yii视图操作之自定义分页实现方法
Jul 14 #PHP
全面解析PHP操作Memcache基本函数
Jul 14 #PHP
Yii视图CGridView实现操作按钮定义地址示例
Jul 14 #PHP
Yii中的relations数据关联查询及统计功能用法详解
Jul 14 #PHP
You might like
php为什么选mysql作为数据库? Mysql 创建用户方法
2007/07/02 PHP
php IP及IP段进行访问限制的代码
2008/12/17 PHP
PHP Curl出现403错误的解决办法
2014/05/29 PHP
10个值得深思的PHP面试题
2016/11/14 PHP
微信公众号实现扫码获取微信用户信息(网页授权)
2019/04/09 PHP
IE浏览器PNG图片透明效果代码
2008/09/02 Javascript
Jquery 弹出层插件实现代码
2009/10/24 Javascript
extJS中常用的4种Ajax异步提交方式
2014/03/07 Javascript
JavaScript动态创建link标签到head里的方法
2014/12/22 Javascript
JS打开新窗口防止被浏览器阻止的方法
2015/01/03 Javascript
js实现同一页面多个不同运动效果的方法
2015/04/10 Javascript
jquery实现从数组移除指定的值
2015/06/24 Javascript
JavaScript判断对象是否为数组
2015/12/22 Javascript
javascript比较语义化版本号的实现代码
2016/09/09 Javascript
js从数组中删除指定值(不是指定位置)的元素实现代码
2016/09/13 Javascript
AnjularJS中$scope和$rootScope的区别小结
2016/09/18 Javascript
简单谈谈Vue 模板各类数据绑定
2016/09/25 Javascript
JavaScript的变量声明提升问题浅析(Hoisting)
2016/11/30 Javascript
基于Bootstrap table组件实现多层表头的实例代码
2017/09/07 Javascript
微信小程序通过一个json实现分享朋友圈图片
2019/09/03 Javascript
[01:44]剑指西雅图 展望TI之CIS战队专访
2014/06/25 DOTA
用C++封装MySQL的API的教程
2015/05/06 Python
Python实现信用卡系统(支持购物、转账、存取钱)
2016/06/24 Python
python下实现二叉堆以及堆排序的示例
2017/09/29 Python
利用django-suit模板添加自定义的菜单、页面及设置访问权限
2018/07/13 Python
Python 窗体(tkinter)按钮 位置实例
2019/06/13 Python
详解解决Python memory error的问题(四种解决方案)
2019/08/08 Python
院药学专业个人求职信
2013/09/21 职场文书
高中生学习生活的自我评价
2013/11/27 职场文书
项目专员岗位职责
2013/12/04 职场文书
精彩广告词大全
2014/03/19 职场文书
书法大赛策划方案
2014/06/04 职场文书
大专毕业生自我鉴定范文(2篇)
2014/09/27 职场文书
小学生毕业评语
2014/12/26 职场文书
法律意见书范本
2015/06/04 职场文书
小学语文教师研修感悟
2015/11/18 职场文书