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 18 PHP
基于php socket(fsockopen)的应用实例分析
Jun 02 PHP
深入分析PHP引用(&amp;)
Sep 04 PHP
thinkphp文件引用与分支结构用法实例
Nov 26 PHP
php编写简单的文章发布程序
Jun 18 PHP
php数组比较实现查找连续数的方法
Jul 29 PHP
Yii实现简单分页的方法
Apr 29 PHP
php添加数据到xml文件的简单例子
Sep 08 PHP
PHP数组操作实例分析【添加,删除,计算,反转,排序,查找等】
Dec 24 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
Sep 16 PHP
Laravel如何自定义command命令浅析
Mar 23 PHP
php+ajax实现商品对比功能示例
Apr 13 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 md5下16位和32位的实现代码
2008/04/09 PHP
PHP 加密解密内部算法
2010/04/22 PHP
PHP的autoload机制的实现解析
2012/09/15 PHP
php实现通过cookie换肤的方法
2015/07/13 PHP
php实现的简单美国商品税计算函数
2015/07/13 PHP
php通过pecl方式安装扩展的实例讲解
2018/02/02 PHP
Laravel如何创建服务器提供者实例代码
2019/04/15 PHP
JS 中document.URL 和 windows.location.href 的区别
2009/11/11 Javascript
web页面数据展示新想法(json)
2010/06/08 Javascript
jQuery事件绑定和委托实例
2014/11/25 Javascript
Web表单提交之disabled问题js解决方法
2015/01/13 Javascript
JS截取字符串实例详解
2015/11/24 Javascript
微信小程序开发(一) 微信登录流程详解
2017/01/11 Javascript
vue2.0嵌套路由实现豆瓣电影分页功能(附demo)
2017/03/13 Javascript
JavaScript实现无穷滚动加载数据
2017/05/06 Javascript
手把手教你使用vue-cli脚手架(图文解析)
2017/11/08 Javascript
vue  directive定义全局和局部指令及指令简写
2018/11/20 Javascript
JavaScript enum枚举类型定义及使用方法
2020/05/15 Javascript
[01:47]2018年度DOTA2最佳教练-完美盛典
2018/12/16 DOTA
python使用fileinput模块实现逐行读取文件的方法
2015/04/29 Python
python使用htmllib分析网页内容的方法
2015/05/08 Python
Django查询数据库的性能优化示例代码
2017/09/24 Python
Python自动化运维之IP地址处理模块详解
2017/12/10 Python
情人节快乐! python绘制漂亮玫瑰
2020/08/18 Python
详解python 模拟豆瓣登录(豆瓣6.0)
2019/04/18 Python
python学生信息管理系统实现代码
2019/12/17 Python
详解Pytorch显存动态分配规律探索
2020/11/17 Python
css3中less实现文字长阴影(long shadow)
2020/04/24 HTML / CSS
德国箱包网上商店:koffer24.de
2016/07/27 全球购物
彪马日本官网:PUMA日本
2019/01/31 全球购物
英国网上电器商店:Electricshop
2020/03/15 全球购物
工程造价专业大学生自荐信
2013/10/01 职场文书
小学生防溺水广播稿
2014/01/12 职场文书
超市开业庆典策划方案
2014/05/14 职场文书
导游词之山西祁县乔家大院
2019/10/14 职场文书
使用Python+OpenCV进行卡类型及16位卡号数字的OCR功能
2021/08/30 Python