Yii CDbCriteria

Yii的Active Recorder包装了很多。

特别是把SQL中 把where,order,limit,IN/not IN,like等常用短句都包含进CDbCriteria这个类中去,这样整个代码会比较规范,一目了然。CDbCriteria
代表一个标准的查询, 如条件,order by和limit.
它是一个数据封装对象,相当于SQL语句的各部分的载体

$criteria =newCDbCriteria;

$criteria->addCondition("id=1"); //查询条件,即where id =1  
   $criteria->addInCondition(‘id‘, array(1,2,3,4,5));//代表where id IN (1,23,,4,5,);  
   $criteria->addNotInCondition(‘id‘,array(1,2,3,4,5));//与上面正好相法,是NOT IN  
   $criteria->addCondition(‘id=1‘,‘OR‘);//这是OR条件,多个条件的时候,该条件是OR而非AND 
   $criteria->addSearchCondition(‘name‘,‘分类‘);//搜索条件,其实代表了。。where name like ‘%分类%‘  
   $criteria->addBetweenCondition(‘id‘, 1, 4);//between1 and 4   
     
   $criteria->compare(‘id‘,1);   //这个方法比较特殊,他会根据你的参数自动处理成addCondition或者addInCondition, 
                                   //即如果第二个参数是数组就会调用addInCondition  
    
   $criteria->addCondition("id = :id"); 
   $criteria->params[‘:id‘]=1;  
    
   $criteria->select = ‘id,parentid,name‘;//代表了要查询的字段,默认select=‘*‘;  
   $criteria->join = ‘xxx‘; //连接表 
   $criteria->with = ‘xxx‘;//调用relations   
   $criteria->limit =10;   //取1条数据,如果小于0,则不作处理  
   $criteria->offset =1;   //两条合并起来,则表示 limit 10 offset1,或者代表了。limit 1,10  
   $criteria->order = ‘xxx DESC,XXX ASC‘ ;//排序条件 
   $criteria->group = ‘group 条件‘; 
   $criteria->having = ‘having 条件 ‘; 
   $criteria->distinct = FALSE;//是否唯一查询

更多:

http://www.cnblogs.com/likwo/archive/2011/09/01/2162017.html

Yii CDbCriteria,布布扣,bubuko.com

时间: 2024-12-28 01:55:28

Yii CDbCriteria的相关文章

Yii CDBCriteria常用方法

Yii CDbCriteria 常用方法 注:$c = new CDbCriteria();是ActiveRecord的一种写法,使ActiveRecord更加灵活,而不是手册中DAO(PDO)和Query Builder. 小小点评一下:感觉这部分手册做的一般. 链接地址:http://www.yiiframework.com/doc/api/1.1/CDbCriteria 这是Yii CDbCriteria的一些笔记和常用用法: 一.一个sql拼装的情况 PHP代码 Php代码 $crite

Yii CDbCriteria的常用方法

$criteria = new CDbCriteria; $criteria->addCondition("id=1"); //查询条件,即where id = 1 $criteria->addInCondition('id', array(1,2,3,4,5)); //代表where id IN (1,23,,4,5,); $criteria->addNotInCondition('id', array(1,2,3,4,5));//与上面正好相法,是NOT IN $

Yii CDbCriteria类中方法

$criteria = new CDbCriteria; //select $criteria->select = '*';//默认* $criteria->select = 'id,name';//指定的字段 $criteria->select = 't.*,t.id,t.name';//连接查询时,第一个表as t,所以用t.* $criteria->distinct = FALSE; //是否唯一查询 //join $criteria->join = 'left joi

Yii中CDbCriteria常用总结

Yii的Active Recorder包装了很多. 特别是把SQL中 把where,order,limit,IN/not IN,like等常用短句都包含进CDbCriteria这个类中去,这样整个代码会比较规范,一目了然. $criteria =newCDbCriteria; $criteria->addCondition("id=1"); //查询条件,即where id =1     $criteria->addInCondition('id', array(1,2,3

Yii中CDbCriteria常用方法

最近在使用Yii 下面是常用到的方法,这里保存一下方便查看 $criteria =newCDbCriteria; $criteria->addCondition("id=1"); //查询条件,即where id =1     $criteria->addInCondition('id', array(1,2,3,4,5));//代表where id IN (1,23,,4,5,);     $criteria->addNotInCondition('id',arra

Yii中CDbCriteria的使用

$criteria = new CDbCriteria();的使用 $criteria -> addCondition("id=1"); //查询条件,where id=1 $criteria -> addCondition("id=1",'OR|AND'); $criteria -> addInCondition('id',array(1,2,3,4,5)); //代表where id IN(1,2,3,4,5); $criteria ->

Yii中的CComponent应用实例

首先我们先了解一下如何创建一个CComponent,手册讲述如下: CComponent 是所有组件类的基类. CComponent 实现了定义.使用属性和事件的协议. 属性是通过getter方法或/和setter方法定义.访问属性就像访问普通的对象变量.读取或写入属性将调用应相的getter或setter方法,例如: 1 2 $a=$component->text;     // equivalent to $a=$component->getText(); $component->t

Yii 1开发日记 ----------- 搜索功能及Checkbox的实现

用yii 1实现后台的搜索功能,效果如下图: 1.模型中: 1 public function search() 2 { 3 4 $criteria = new CDbCriteria; 5 //独立高级搜索 6 if(isset( $_GET['goods']) ) { 7 //商品货号 8 if (isset($_GET['goods']['goods_sn']) && $_GET['goods']['goods_sn'] != "") 9 { 10 $criter

YII 数据库相关操作

CDbConnection:  一个抽象数据库连接 CDbCommand:     SQL statement CDbDataReader:  匹配结果集的一行记录 CDbTransaction:数据库事务 访问数据库前需要建立数据库连接:使用DAO建立一个抽象数据库链接: $connection = new CDbConnection($dsn, $username, $password); $connection->active = true;     // 只有激活了连接才可以使用 $co