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版
Apr 20 PHP
遭遇php的in_array低性能问题
Sep 17 PHP
php inc文件使用的风险和注意事项
Nov 12 PHP
php读取富文本的时p标签会出现红线是怎么回事
May 13 PHP
谈谈PHP中substr和substring的正确用法及相关参数的介绍
Dec 16 PHP
php is_executable判断给定文件名是否可执行实例
Sep 26 PHP
用PHP将Unicode 转化为UTF-8的实现方法(推荐)
Feb 08 PHP
PHP实现在数据库百万条数据中随机获取20条记录的方法
Apr 19 PHP
Nginx下ThinkPHP5的配置方法详解
Aug 01 PHP
浅谈PHP SHA1withRSA加密生成签名及验签
Mar 18 PHP
PHP 构造函数和析构函数原理与用法分析
Apr 21 PHP
PHP实现图片防盗链破解操作示例【解决图片防盗链问题/反向代理】
May 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
一次编写,随处运行
2006/10/09 PHP
ThinkPHP3.1.3版本新特性概述
2014/06/19 PHP
PHP伪静态Rewrite设置之APACHE篇
2014/07/30 PHP
PHP向浏览器输出内容的4个函数总结
2014/11/17 PHP
PHP图像处理类库MagickWand用法实例分析
2015/05/21 PHP
php实现异步数据调用的方法
2015/12/24 PHP
PHP实现登录搜狐广告获取广告联盟数据的方法【附demo源码】
2016/10/14 PHP
PHP实现的最大正向匹配算法示例
2017/12/19 PHP
mongodb和php的用法详解
2019/03/25 PHP
jquery ajax 检测用户注册时用户名是否存在
2009/11/03 Javascript
从零开始学习jQuery (八) 插播:jQuery实施方案
2011/02/23 Javascript
js禁止小键盘输入数字功能代码
2011/08/01 Javascript
基于javascript的COOkie的操作实现只能点一次
2014/12/26 Javascript
js实现简单锁屏功能实例
2015/05/27 Javascript
JavaScript脚本判断蜘蛛来源的方法
2015/09/22 Javascript
WordPress 单页面上一页下一页的实现方法【附代码】
2016/03/10 Javascript
AngularJS基础 ng-keypress 指令简单示例
2016/08/02 Javascript
浅析jQuery操作select控件的取值和设值
2016/12/07 Javascript
详解Angular.js中$http拦截器的介绍及使用
2017/07/04 Javascript
tracking.js页面人脸识别插件使用方法
2020/04/16 Javascript
npm的lock机制解析
2019/06/20 Javascript
js实现视图和数据双向绑定的方法分析
2020/02/05 Javascript
实例讲解python函数式编程
2014/06/09 Python
用python实现面向对像的ASP程序实例
2014/11/10 Python
Python 中开发pattern的string模板(template) 实例详解
2017/04/01 Python
利用numpy实现一、二维数组的拼接简单代码示例
2017/12/15 Python
Python2.X/Python3.X中urllib库区别讲解
2017/12/19 Python
Django添加feeds功能的示例
2018/08/07 Python
Pytorch 实现冻结指定卷积层的参数
2020/01/06 Python
keras读取h5文件load_weights、load代码操作
2020/06/12 Python
python re模块常见用法例举
2021/03/01 Python
html5文字阴影效果text-shadow使用示例
2013/07/25 HTML / CSS
马云北大演讲完整版:真心话,什么才是阿里的核心竞争力?
2014/04/04 职场文书
大学竞选班长演讲稿
2014/04/24 职场文书
党员转正介绍人意见
2015/06/03 职场文书
2016年幼儿园庆六一开幕词
2016/03/04 职场文书