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水印
Mar 16 PHP
一步一步学习PHP(6) 面向对象
Feb 16 PHP
php set_magic_quotes_runtime() 函数过时解决方法
Jul 08 PHP
php全局变量和类配合使用深刻理解
Jun 05 PHP
基于empty函数的输出详解
Jun 17 PHP
php图像处理函数大全(推荐收藏)
Jul 11 PHP
ThinkPHP文件缓存类代码分享
Apr 22 PHP
php搜索文件程序分享
Oct 30 PHP
Zend Framework实现多文件上传功能实例
Mar 21 PHP
php车辆违章查询数据示例
Oct 14 PHP
PHP批量获取网页中所有固定种子链接的方法
Nov 18 PHP
phalcon model在插入或更新时会自动验证非空字段的解决办法
Dec 29 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
基于HTTP长连接的&quot;服务器推&quot;技术的php 简易聊天室
2009/10/31 PHP
php中3种方法统计字符串中每种字符的个数并排序
2012/08/27 PHP
JSON PHP中,Json字符串反序列化成对象/数组的方法
2018/05/31 PHP
Laravel5.5以下版本中如何自定义日志行为详解
2018/08/01 PHP
客户端脚本中常常出现的一些问题和调试技巧
2007/01/09 Javascript
javascript 支持链式调用的异步调用框架Async.Operation
2009/08/04 Javascript
Javascript的一种模块模式
2010/09/08 Javascript
jQuery.extend 函数详解
2012/02/03 Javascript
javascript中简单的进制转换代码实例
2013/10/26 Javascript
JQuery使用index方法获取Jquery对象数组下标的方法
2015/05/18 Javascript
jquery中的常见问题及快速解决方法小结
2016/06/14 Javascript
JS button按钮实现submit按钮提交效果
2016/11/01 Javascript
微信小程序 摇一摇抽奖简单实例实现代码
2017/01/09 Javascript
Vue 实现双向绑定的四种方法
2018/03/16 Javascript
浅谈在vue中使用mint-ui swipe遇到的问题
2018/09/27 Javascript
解决JavaScript中0.1+0.2不等于0.3问题
2018/10/23 Javascript
微信小程序使用swiper组件实现层叠轮播图
2018/11/04 Javascript
fetch 如何实现请求数据
2018/12/20 Javascript
javascript自定义日期比较函数用法示例
2019/07/22 Javascript
VUE:vuex 用户登录信息的数据写入与获取方式
2019/11/11 Javascript
《javascript设计模式》学习笔记三:Javascript面向对象程序设计单例模式原理与实现方法分析
2020/04/07 Javascript
让你30分钟快速掌握vue3教程
2020/10/26 Javascript
Python中多个数组行合并及列合并的方法总结
2018/04/12 Python
Python统计python文件中代码,注释及空白对应的行数示例【测试可用】
2018/07/25 Python
python绘制评估优化算法性能的测试函数
2019/06/25 Python
CSS3教程(5):网页背景图片
2009/04/02 HTML / CSS
HTML5 语音搜索只需一句代码
2013/01/03 HTML / CSS
使用HTML5 Canvas API绘制弧线的教程
2016/03/22 HTML / CSS
英国领先的奢侈品零售商之一:CRUISE
2016/12/02 全球购物
LN-CC中国:高端男装和女装的奢侈时尚目的地
2019/09/14 全球购物
电子商务专业个人的自我评价
2013/12/19 职场文书
文明学生事迹材料
2014/01/29 职场文书
工商干部先进事迹
2014/05/14 职场文书
2014年测量员工作总结
2014/12/12 职场文书
2015大学自主招生自荐信范文
2015/03/04 职场文书
上级领导检查欢迎词
2015/09/30 职场文书