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原创论坛
Oct 09 PHP
PHP文件下载类
Dec 06 PHP
URL Rewrite的设置方法
Jan 02 PHP
php smarty模版引擎中变量操作符及使用方法
Dec 11 PHP
php中Smarty模板初体验
Aug 08 PHP
基于php设计模式中工厂模式详细介绍
May 15 PHP
解析phpstorm + xdebug 远程断点调试
Jun 20 PHP
php使用NumberFormatter格式化货币的方法
Mar 21 PHP
Symfony2之session与cookie用法小结
Mar 18 PHP
php上传大文件设置方法
Apr 14 PHP
PHP 5.6.11中CURL模块问题的解决方法
Aug 08 PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
Jul 22 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应用程序的七个习惯深入分析
2013/06/08 PHP
解析关于java,php以及html的所有文件编码与乱码的处理方法汇总
2013/06/24 PHP
php文件操作小结(删除指定文件/获取文件夹下的文件名/读取文件夹下图片名)
2016/05/09 PHP
JavaScript版代码高亮
2006/06/26 Javascript
从零开始学习jQuery (十) jQueryUI常用功能实战
2011/02/23 Javascript
一个简单的Ext.XTemplate的实例代码
2012/03/18 Javascript
基于javascript实现判断移动终端浏览器版本信息
2014/12/09 Javascript
JavaScript使用Prototype实现面向对象的方法
2015/04/14 Javascript
Juery解决tablesorter中文排序和字符范围的方法
2015/05/06 Javascript
js实现div拖动动画运行轨迹效果代码分享
2015/08/27 Javascript
javascript实现添加附件功能的方法
2015/11/18 Javascript
深入探讨前端框架react
2015/12/09 Javascript
使用struts2+Ajax+jquery验证用户名是否已被注册
2016/03/22 Javascript
关于vue.js v-bind 的一些理解和思考
2017/06/06 Javascript
Node.js+jade+mongodb+mongoose实现爬虫分离入库与生成静态文件的方法
2017/09/20 Javascript
详解Vue结合后台的列表增删改案例
2018/08/21 Javascript
JS实现点击发送验证码 xx秒后重新发送功能
2019/07/30 Javascript
深入浅析golang zap 日志库使用(含文件切割、分级别存储和全局使用等)
2020/02/19 Javascript
对python while循环和双重循环的实例详解
2019/08/23 Python
pytorch之ImageFolder使用详解
2020/01/06 Python
python 绘制国旗的示例
2020/09/27 Python
python 如何设置守护进程
2020/10/29 Python
mac系统下安装pycharm、永久激活、中文汉化详细教程
2020/11/24 Python
wordpress添加Html5的表单验证required方法小结
2020/08/18 HTML / CSS
伦敦平价潮流珠宝首饰品牌:Astrid & Miyu
2016/10/10 全球购物
医学院毕业生自荐信
2013/11/08 职场文书
学生出入校管理制度
2014/01/16 职场文书
旷课检讨书3000字
2014/02/04 职场文书
幼儿园优秀教师事迹
2014/02/13 职场文书
交通安全寄语大全
2014/04/08 职场文书
授权委托书范本(单位)
2014/09/28 职场文书
迟到检讨书2000字(精选篇)
2014/10/07 职场文书
党的群众路线教育实践活动个人整改落实情况汇报
2014/10/28 职场文书
Nginx已编译的nginx-添加新模块
2021/04/01 Servers
详解Redis在SpringBoot工程中的综合应用
2021/10/16 Redis
Python如何使用循环结构和分支结构
2022/04/13 Python