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 cookie 登录验证示例代码
Mar 16 PHP
php 上传功能实例代码
Apr 13 PHP
php5 apache 2.2 webservice 创建与配置(java)
Jan 27 PHP
PHP设计模式 注册表模式(多个类的注册)
Feb 05 PHP
深入PHP autoload机制的详解
Jun 09 PHP
关于php 接口问题(php接口主要也就是运用curl,curl函数)
Jul 01 PHP
PHP防止跨域提交表单
Nov 01 PHP
php阻止页面后退的方法分享
Feb 17 PHP
ThinkPHP发送邮件示例代码
Oct 08 PHP
thinkphp框架page类与bootstrap分页(美化)
Jun 25 PHP
PHP实现上传图片到数据库并显示输出的方法
May 31 PHP
Laravel框架实现抢红包功能示例
Oct 31 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
星际争霸 Starcraft 秘技补丁
2020/03/14 星际争霸
PHP 数组排序方法总结 推荐收藏
2010/06/30 PHP
php解析xml方法实例详解
2015/05/12 PHP
PHP处理二进制数据的实现方法
2016/06/13 PHP
PHP魔术方法以及关于独立实例与相连实例的全面讲解
2016/10/18 PHP
PHP实现简单用户登录界面
2019/10/23 PHP
用js实现随机返回数组的一个元素
2007/08/13 Javascript
JavaScript中的Screen屏幕对象
2008/01/16 Javascript
JavaScript RegExp方法获取地址栏参数(面向对象)
2009/03/10 Javascript
让innerText在firefox火狐和IE浏览器都能用的写法
2011/05/14 Javascript
java与javascript之间json格式数据互转介绍
2013/10/29 Javascript
禁用Tab键JS代码兼容Firefox和IE
2014/04/18 Javascript
nodejs 提示‘xxx’ 不是内部或外部命令解决方法
2014/11/20 NodeJs
Bootstrap实现导航栏的2种方式
2016/11/28 Javascript
常用JS图片滚动(无缝、平滑、上下左右滚动)代码大全(推荐)
2016/12/20 Javascript
Vue.directive自定义指令的使用详解
2017/03/10 Javascript
vue2.0实现倒计时的插件(时间戳 刷新 跳转 都不影响)
2017/03/30 Javascript
vue实现键盘输入支付密码功能
2018/08/18 Javascript
[40:57]TI4 循环赛第二日 iG vs EG
2014/07/11 DOTA
Python利用flask sqlalchemy实现分页效果
2020/08/02 Python
PyQt5主窗口动态加载Widget实例代码
2018/02/07 Python
详解关于Django中ORM数据库迁移的配置
2018/10/08 Python
Python使用pyautocad+openpyxl处理cad文件示例
2019/07/11 Python
python实现学生管理系统开发
2020/07/24 Python
常用的10个Python实用小技巧
2020/08/10 Python
HTML5中外部浏览器唤起微信分享
2020/01/02 HTML / CSS
Currentbody澳大利亚:美容仪专家
2019/11/11 全球购物
社会实践活动总结报告
2014/04/29 职场文书
售后客服工作职责
2014/06/16 职场文书
2015年个人自我剖析材料
2014/12/29 职场文书
大学开学典礼新闻稿
2015/07/17 职场文书
2016机关干部作风建设心得体会
2016/01/21 职场文书
2016年法制宣传月活动总结
2016/04/01 职场文书
Pycharm连接远程服务器并远程调试的全过程
2021/06/24 Python
浅谈 JavaScript 沙箱Sandbox
2021/11/02 Javascript
Mysql 8.x 创建用户以及授予权限的操作记录
2022/04/18 MySQL