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动态生成静态HTML网页的代码
Mar 04 PHP
PHP图片库imagemagick安装方法
Sep 23 PHP
PHP实现的简易版图片相似度比较
Jan 07 PHP
详解php比较操作符的安全问题
Dec 03 PHP
Yii数据模型中rules类验证器用法分析
Jul 15 PHP
PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)
Sep 11 PHP
浅谈PHP的exec()函数无返回值排查方法(必看)
Mar 31 PHP
iis6手工创建网站后无法运行php脚本的解决方法
Jun 08 PHP
PHP配置ZendOpcache插件加速
Feb 14 PHP
phpStudy vscode 搭建debug调试的教程详解
Jul 28 PHP
搭建PhpStorm+PhpStudy开发环境的超详细教程
Sep 17 PHP
php中数组最简单的使用方法
Dec 27 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自定义函数截取汉字长度
2014/05/15 PHP
php 反斜杠处理函数addslashes()和stripslashes()实例详解
2016/12/25 PHP
PHP文件系统管理(实例讲解)
2017/09/19 PHP
JS小功能(setInterval实现图片效果显示时间)实例代码
2013/11/28 Javascript
点击表单提交时出现jQuery没有权限的解决方法
2014/07/23 Javascript
JS中Location使用详解
2015/05/12 Javascript
jQuery+css实现的蓝色水平二级导航菜单效果代码
2015/09/11 Javascript
jQuery中队列queue()函数的实例教程
2016/05/03 Javascript
JavaScrpt的面向对象全面解析
2017/05/09 Javascript
js实现随机点名小功能
2017/08/17 Javascript
vue实现个人信息查看和密码修改功能
2018/05/06 Javascript
vue实现与安卓、IOS交互的方法
2018/11/02 Javascript
JavaScript数据结构与算法之二叉树实现查找最小值、最大值、给定值算法示例
2019/03/01 Javascript
js原生map实现的方法总结
2020/01/19 Javascript
Node.js API详解之 net模块实例分析
2020/05/18 Javascript
JS常见内存泄漏及解决方案解析
2020/05/30 Javascript
详解js中的几种常用设计模式
2020/07/16 Javascript
vue props 一次传多个值实例
2020/07/22 Javascript
Node.js 中判断一个文件是否存在
2020/08/24 Javascript
[02:38]2018DOTA2亚洲邀请赛赛前采访-VGJ.T
2018/04/03 DOTA
[01:08:30]DOTA2-DPC中国联赛 正赛 Ehome vs Elephant BO3 第一场 2月28日
2021/03/11 DOTA
python实现的udp协议Server和Client代码实例
2014/06/04 Python
tensorflow入门之训练简单的神经网络方法
2018/02/26 Python
vue常用指令代码实例总结
2020/03/16 Python
python 将Excel转Word的示例
2021/03/02 Python
css3的transition属性详解
2014/12/15 HTML / CSS
Europcar美国/加拿大:预订汽车或卡车租赁服务
2018/11/13 全球购物
商务日语专业毕业生求职信
2013/10/26 职场文书
《骆驼和羊》教学反思
2014/02/27 职场文书
建房协议书
2014/04/11 职场文书
文明城市创建标语
2014/06/16 职场文书
绘画专业自荐信
2014/07/04 职场文书
入党现实表现材料
2014/12/23 职场文书
《烈火英雄》观后感:致敬和平时代的英雄
2019/11/11 职场文书
PostgreSQL聚合函数介绍以及分组和排序
2022/04/12 PostgreSQL
php解析非标准json、非规范json的方式实例
2022/05/10 PHP