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 相关文章推荐
web方式ftp
Oct 09 PHP
php4的session功能评述(一)
Oct 09 PHP
php中文字母数字验证码实现代码
Apr 25 PHP
在mysql数据库原有字段后增加新内容
Nov 26 PHP
探讨PHP中OO之静态关键字以及类常量的详解
Jun 07 PHP
CURL状态码列表(详细)
Jun 27 PHP
php无限遍历文件夹示例分享
Mar 04 PHP
PHP编程中的常见漏洞和代码实例
Aug 06 PHP
PHP+MYSQL会员系统的开发实例教程
Aug 23 PHP
php基于mcrypt的加密解密实例
Oct 27 PHP
10个对初学者非常有用的PHP技巧
Apr 06 PHP
PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库
Apr 16 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
FleaPHP的安全设置方法
2008/09/15 PHP
php radio 单选框获取与保持值的实现代码
2010/05/15 PHP
深入解析php之apc
2013/05/15 PHP
CodeIgniter使用phpcms模板引擎
2013/11/12 PHP
PHP中实现Bloom Filter算法
2015/03/30 PHP
[原创]PHP正则匹配中英文、数字及下划线的方法【用户名验证】
2017/08/01 PHP
关于laravel框架中的常用目录路径函数
2019/10/23 PHP
从javascript语言本身谈项目实战
2006/12/27 Javascript
用JavaScript显示随机图像或引用
2009/04/21 Javascript
js模拟滚动条(横向竖向)
2013/02/22 Javascript
js给selected添加options的方法
2015/05/06 Javascript
jQuery鼠标事件汇总
2015/08/30 Javascript
JavaScript与HTML的结合方法详解
2015/11/23 Javascript
javascript面向对象程序设计高级特性经典教程(值得收藏)
2016/05/19 Javascript
JS阻止事件冒泡行为和闭包的方法
2016/06/16 Javascript
Vue.js实现一个自定义分页组件vue-paginaiton
2016/09/05 Javascript
原生JS发送异步数据请求
2017/06/08 Javascript
Vue.js如何使用Socket.IO的示例代码
2019/09/05 Javascript
详解微信小程序轨迹回放实现及遇到的坑
2021/02/02 Javascript
[53:43]VP vs NewBee Supermajor 胜者组 BO3 第三场 6.5
2018/06/06 DOTA
对Python中内置异常层次结构详解
2018/10/18 Python
如何使用Python标准库进行性能测试
2019/06/25 Python
基于python解线性矩阵方程(numpy中的matrix类)
2019/10/21 Python
在flask中使用python-dotenv+flask-cli自定义命令(推荐)
2020/01/05 Python
python 线性回归分析模型检验标准--拟合优度详解
2020/02/24 Python
python+selenium+PhantomJS抓取网页动态加载内容
2020/02/25 Python
django实现将修改好的新模型写入数据库
2020/03/31 Python
html5新增的属性和废除的属性简要概述
2013/02/20 HTML / CSS
天猫国际进口超市直营:官方直采,一站购齐
2017/12/11 全球购物
巴西补充剂和维生素购物网站:Natue
2019/06/17 全球购物
澳大利亚最大的护发和护肤品购物网站:RY
2019/12/26 全球购物
大学生专科毕业生自我评价
2013/11/17 职场文书
2015年护士医德医风自我评价
2015/03/03 职场文书
2016年校园重阳节广播稿
2015/12/18 职场文书
redis限流的实际应用
2021/04/24 Redis
pytorch常用数据类型所占字节数对照表一览
2021/05/17 Python