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中文件上传的安全问题
Oct 09 PHP
用文本作数据处理
Oct 09 PHP
打造计数器DIY三步曲(中)
Oct 09 PHP
使用 eAccelerator加速PHP代码的方法
Sep 30 PHP
php记录日志的实现代码
Aug 08 PHP
php断点续传之如何分割合并文件
Mar 22 PHP
ThinkPHP中关联查询实例
Dec 02 PHP
PHP用正则匹配form表单中所有元素的类型和属性值实例代码
Feb 28 PHP
Laravel中任务调度console使用方法小结
May 07 PHP
laravel如何开启跨域功能示例详解
Aug 31 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
Feb 06 PHP
laravel中的一些简单实用功能
Nov 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
PHP中防止SQL注入实现代码
2011/02/19 PHP
PHP错误WARNING: SESSION_START() [FUNCTION.SESSION-START]解决方法
2014/05/04 PHP
PHP页面间传递值和保持值的方法
2016/08/24 PHP
详解Yii2 rules 的验证规则
2016/12/02 PHP
thinkPHP5框架自定义验证器实现方法分析
2018/06/11 PHP
实例分析10个PHP常见安全问题
2019/07/09 PHP
PHP加MySQL消息队列深入理解
2021/02/27 PHP
javascript实现动态增加删除表格行(兼容IE/FF)
2007/04/02 Javascript
利用window.name实现windowStorage代码分享
2014/01/02 Javascript
JavaScript基本的输出和嵌入式写法教程
2015/10/20 Javascript
利用angularjs1.4制作的简易滑动门效果
2017/02/28 Javascript
JS浅拷贝和深拷贝原理与实现方法分析
2019/02/28 Javascript
详解Bootstrap 学习(一)入门
2019/04/12 Javascript
浅谈nuxtjs校验登录中间件和混入(mixin)
2020/11/06 Javascript
[01:05:12]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS CIS-GAME
2014/05/21 DOTA
Python列表推导式的使用方法
2013/11/21 Python
python中base64加密解密方法实例分析
2015/05/16 Python
在Python程序中操作MySQL的基本方法
2015/07/29 Python
python3之微信文章爬虫实例讲解
2017/07/12 Python
浅谈python 里面的单下划线与双下划线的区别
2017/12/01 Python
python之super的使用小结
2018/08/13 Python
在Python中过滤Windows文件名中的非法字符方法
2019/06/10 Python
python读取mysql数据绘制条形图
2020/03/25 Python
python 输入字符串生成所有有效的IP地址(LeetCode 93号题)
2020/10/15 Python
CSS3绘制圆角矩形的简单示例
2015/09/28 HTML / CSS
门诊挂号室室长岗位职责
2013/11/27 职场文书
爱与责任演讲稿
2014/05/20 职场文书
党员承诺书格式
2014/05/21 职场文书
高效课堂标语
2014/06/26 职场文书
2014年加油站工作总结
2014/12/04 职场文书
单身申明具结书
2015/02/26 职场文书
社区敬老月活动总结
2015/05/07 职场文书
买卖合同纠纷代理词
2015/05/25 职场文书
周末问候语大全
2015/11/10 职场文书
如何写好开幕词?
2019/06/24 职场文书
使用Redis实现点赞取消点赞的详细代码
2022/03/20 Redis