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常用函数小技巧
Sep 11 PHP
php中通过Ajax如何实现异步文件上传的代码实例
May 07 PHP
PHP获取指定月份第一天和最后一天的方法
Jul 18 PHP
PHP MySql增删改查的简单实例
Jun 21 PHP
PHP不使用递归的无限级分类简单实例
Nov 05 PHP
PHP使用DOM和simplexml读取xml文档的方法示例
Feb 08 PHP
php注册审核重点解析(数据访问)
May 23 PHP
PHP 爬取网页的主要方法
Jul 13 PHP
PHP一致性hash分布式算法封装类定义与用法示例
Aug 04 PHP
PHP通过get方法获得form表单数据方法总结
Sep 12 PHP
php 处理png图片白色背景色改为透明色的实例代码
Dec 10 PHP
PHP连接及操作PostgreSQL数据库的方法详解
Jan 30 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支持页面回退的两种方法[转]
2007/02/14 PHP
php数组(array)输出的三种形式详解
2013/06/05 PHP
PHP中isset()和unset()函数的用法小结
2014/03/11 PHP
轻松掌握php设计模式之访问者模式
2016/09/23 PHP
Laravel中日期时间处理包Carbon的简单使用
2017/09/21 PHP
Laravel项目中timeAgo字段语言转换的改善方法示例
2019/09/16 PHP
用javascript实现的支持lrc歌词的播放器
2007/05/17 Javascript
解决表单中第一个非隐藏的元素获得焦点的一个方案
2009/10/26 Javascript
提升你网站水平的jQuery插件集合推荐
2011/04/19 Javascript
利用jQuary实现文字浮动提示效果示例代码
2013/12/26 Javascript
浅析webapp框架AngularUI的demo
2014/12/21 Javascript
Vue.js动态添加、删除选题的实例代码
2016/09/30 Javascript
Bootstrap基本布局实现方法详解
2016/11/25 Javascript
BootStrap中jQuery插件Carousel实现轮播广告效果
2017/03/27 jQuery
H5图片压缩与上传实例
2017/04/21 Javascript
探究react-native 源码的图片缓存问题
2017/08/24 Javascript
关于Angularjs中自定义指令一些有价值的细节和技巧小结
2018/04/22 Javascript
详解vue-cli官方脚手架配置
2018/07/20 Javascript
微信小程序发送短信验证码完整实例
2019/01/07 Javascript
vue多次循环操作示例
2019/02/08 Javascript
JavaScript类型相关的常用操作总结
2019/02/14 Javascript
javascript实现超好看的3D烟花特效
2020/01/01 Javascript
JavaScript进阶(三)闭包原理与用法详解
2020/05/09 Javascript
对python中的iter()函数与next()函数详解
2018/10/18 Python
检测浏览器是否支持html5视频的代码
2013/03/28 HTML / CSS
Schutz鞋官方网站:Schutz Shoes
2017/12/13 全球购物
英国最大的在线亚洲杂货店:Red Rickshaw
2020/03/22 全球购物
幼儿师范毕业生自荐信
2013/11/09 职场文书
经典演讲稿范文
2013/12/30 职场文书
地理教师岗位职责
2014/03/16 职场文书
单位承诺书格式
2014/05/21 职场文书
励志演讲稿300字
2014/08/21 职场文书
代领报检证委托书范本
2014/10/11 职场文书
个人廉洁自律总结
2015/03/06 职场文书
导游词之重庆钓鱼城
2019/09/19 职场文书
入门学习Go的基本语法
2021/07/07 Golang