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语法(4)
Oct 09 PHP
PHP+Mysql+jQuery实现发布微博程序 jQuery篇
Oct 08 PHP
PHP设置一边执行一边输出结果的代码
Sep 30 PHP
php实现文件下载(支持中文文名)
Dec 04 PHP
phpphp图片采集后按原路径保存图片示例
Feb 18 PHP
php中有关字符串的4个函数substr、strrchr、strstr、ereg介绍和使用例子
Apr 24 PHP
php数组随机排序实现方法
Jun 13 PHP
PHP实现将多个文件压缩成zip格式并下载到本地的方法示例
May 23 PHP
php获取手机端的号码以及ip地址实例代码
Sep 12 PHP
php原生数据库分页的代码实例
Feb 18 PHP
php面向对象程序设计中self与static的区别分析
May 21 PHP
PHP 观察者模式深入理解与应用分析
Sep 25 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笔记之:php函数range() round()和list()的使用说明
2013/04/26 PHP
php对二维数组进行排序的简单实例
2013/12/19 PHP
PHP empty函数报错解决办法
2014/03/06 PHP
Yii操作数据库实现动态获取表名的方法
2016/03/29 PHP
PHP十六进制颜色随机生成器功能示例
2017/07/24 PHP
PHP中OpenSSL加密问题整理
2017/12/14 PHP
PHP5.6读写excel表格文件操作示例
2019/02/26 PHP
JavaScript学习笔记(十)
2010/01/17 Javascript
javascript题目,重写函数让其无限相加
2012/02/15 Javascript
jquery ajax跨域解决方法(json方式)
2014/02/04 Javascript
javascript简单实现类似QQ头像弹出效果的方法
2015/08/03 Javascript
JS+CSS实现简单的二级下拉导航菜单效果
2015/09/21 Javascript
基于JS实现密码框(password)中显示文字提示功能代码
2016/05/27 Javascript
canvas实现图片根据滑块放大缩小效果
2017/02/24 Javascript
Javascript ES6中数据类型Symbol的使用详解
2017/05/02 Javascript
JS实现页面打印(整体、局部)
2017/08/18 Javascript
详解基于vue-router的动态权限控制实现方案
2017/09/28 Javascript
VUEJS 2.0 子组件访问/调用父组件的实例
2018/02/10 Javascript
详解@angular/cli 改变默认启动端口两种方式
2018/11/29 Javascript
JS实现获取数组中最大值或最小值功能示例
2019/03/02 Javascript
原生js实现商品筛选功能
2019/10/28 Javascript
微信小程序实现吸顶特效
2020/01/08 Javascript
使用Python简单的实现树莓派的WEB控制
2016/02/18 Python
python模块之re正则表达式详解
2017/02/03 Python
Python使用filetype精确判断文件类型
2017/07/02 Python
Python实现网页截图(PyQT5)过程解析
2019/08/12 Python
Jupyter Notebook打开任意文件夹操作
2020/04/14 Python
Python中如何添加自定义模块
2020/06/09 Python
班级年度安全计划书
2014/05/01 职场文书
教师查摆问题及整改措施
2014/10/11 职场文书
初中差生评语
2014/12/29 职场文书
长城导游词300字
2015/01/30 职场文书
学校推普周活动总结
2015/05/07 职场文书
经营场所使用证明
2015/06/19 职场文书
初中政治教学反思
2016/02/23 职场文书
总结Python使用过程中的bug
2021/06/18 Python