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 Static关键字实用方法
Jun 04 PHP
仿Aspnetpager的一个PHP分页类代码 附源码下载
Oct 08 PHP
深入探讨<br />和 \r\n两者有什么区别??
Jun 05 PHP
thinkphp 一个页面使用2次分页的实现方法
Jul 15 PHP
PHP中可以自动分割查询字符的Parse_str函数使用示例
Jul 25 PHP
wamp安装后自定义配置的方法
Aug 23 PHP
C/S和B/S两种架构区别与优缺点分析
Oct 23 PHP
smarty内置函数capture用法分析
Jan 22 PHP
php实现文件上传及头像预览功能
Jan 15 PHP
如何用PHP做到页面注册审核
Mar 02 PHP
mac系统下安装多个php并自由切换的方法详解
Apr 21 PHP
PHP whois查询类定义与用法示例
Apr 03 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
CI(CodeIgniter)框架配置
2014/06/10 PHP
Linux系统下PHP-FPM的安装和配置教程
2015/08/17 PHP
jQuery ajax在GBK编码下表单提交终极解决方案(非二次编码方法)
2010/10/20 Javascript
Json字符串转换为JS对象的高效方法实例
2013/05/01 Javascript
JS动态添加与删除select中的Option对象(示例代码)
2013/12/20 Javascript
js进行表单验证实例分析
2015/02/10 Javascript
javascript日期格式化方法汇总
2015/10/04 Javascript
JavaScript中获取HTML元素值的三种方法
2016/06/20 Javascript
jQuery自定义多选下拉框效果
2017/06/19 jQuery
利用JS测试目标网站的打开响应速度
2017/12/01 Javascript
解决循环中setTimeout执行顺序的问题
2018/06/20 Javascript
Vue中CSS动画原理的实现
2019/02/13 Javascript
深入了解js原型模式
2019/05/30 Javascript
js实现转动骰子模型
2019/10/24 Javascript
微信小程序动态设置图片大小的方法
2019/11/21 Javascript
请求时token过期自动刷新token操作
2020/09/11 Javascript
微信小程序实现底部弹出框
2020/11/18 Javascript
vue中利用three.js实现全景图的完整示例
2020/12/07 Vue.js
一起来了解一下JavaScript的预编译(小结)
2021/03/01 Javascript
状态机的概念和在Python下使用状态机的教程
2015/04/11 Python
python实现简易内存监控
2018/06/21 Python
Python 网络编程之UDP发送接收数据功能示例【基于socket套接字】
2019/10/11 Python
使用Python的datetime库处理时间(RPA流程)
2019/11/24 Python
Pyqt5自适应布局实例
2019/12/13 Python
详解Python IO口多路复用
2020/06/17 Python
python脚本第一行如何写
2020/08/30 Python
python如何写个俄罗斯方块
2020/11/06 Python
美国婴儿用品店:Babies”R”Us
2017/10/12 全球购物
波兰快递服务:Globkurier.pl
2019/11/08 全球购物
建筑设计学生的自我评价
2014/01/16 职场文书
付款委托书范本
2014/04/04 职场文书
机械制造专业大学生自我鉴定
2014/09/19 职场文书
行政主管岗位职责
2015/02/03 职场文书
美术教师个人工作总结
2015/02/06 职场文书
2015年后勤工作总结范文
2015/04/08 职场文书
Nginx使用ngx_http_upstream_module实现负载均衡功能示例
2022/08/05 Servers