`

Yii Criteria

    博客分类:
  • YII
 
阅读更多

Yii Criteria常用方法(select,join,where,日期,)

$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 join table2 t2 on(t.id=t2.tid)'; //连接表  
$criteria->with = 'xxx'; //调用relations  


//where 查询数字字段
$criteria->addCondition("id=1"); //查询条件,即where id = 1  
$criteria->addBetweenCondition('id', 1, 4);//between 1 and 4     
$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


//where 查询字符串字段
$criteria->addSearchCondition('name', '分类');//搜索条件,其实代表了。。where name like '%分类%' 
 
//where 查询日期字段
$criteria->addCondition("create_time>'2012-11-29 00:00:00'");
$criteria->addCondition("create_time<'2012-11-30 00:00:00'");


//where and or
$criteria->addCondition('id=1','OR');//这是OR条件,多个条件的时候,该条件是OR而非AND &nbsp;


//这个方法比较特殊,他会根据你的参数自动处理成addCondition或者addInCondition,
//即如果第二个参数是数组就会调用addInCondition &nbsp;


$criteria->compare('id', 1); &nbsp; &nbsp;
/** &nbsp;* 传递参数 */ &nbsp;


$criteria->addCondition("id = :id"); &nbsp;
$criteria->params[':id']=1; &nbsp;


//order&nbsp;
$criteria->order = 'xxx DESC,XXX ASC' ;//排序条件 &nbsp;


//group
$criteria->group = 'group 条件'; &nbsp;
$criteria->having = 'having 条件 ';&nbsp;


//limit
$criteria->limit = 10; &nbsp; &nbsp;//取1条数据,如果小于0,则不作处理 &nbsp;
$criteria->offset = 1; &nbsp; //两条合并起来,则表示 limit 10 offset 1,或者代表了。limit 1,10 &nbsp;

 参考:

 

http://hi.baidu.com/bxbyg/item/b360f73194e5c8302e0f81c5

http://stackoverflow.com/questions/4983864/yii-cdbcriteria-join

 

FROM http://blog.csdn.net/yuhui_fish/article/details/8242344

分享到:
评论

相关推荐

    Yii模型操作之criteria查找数据库的方法

    本文实例讲述了Yii模型操作之criteria查找数据库的方法。分享给大家供大家参考,具体如下: 数据模型搜索方法: public function search() { // Warning: Please modify the following code to remove attributes ...

    YII实现分页的方法

    本文以实例代码简述了yii实现分页的方法,供学习yii的朋友参考,具体代码如下: 1.控制器部分代码:  public function actionTest() { $criteria=new CDbCriteria; $criteria-&gt;order='id DESC'; $count=User::...

    Yii使用DeleteAll连表删除出现报错问题的解决方法

    本文实例讲述了Yii使用DeleteAll连表删除出现报错问题的解决方法。分享给大家供大家参考,具体如下: 删除数据的时候,经常会遇到连联判断删除数据的条件,今天用Yii 的CDbCriteria生成关连条件。批量删除的时候...

    yii框架使用分页的方法分析

    本文实例讲述了yii框架使用分页的方法。分享给大家供大家参考,具体如下: yii中使用分页很方便,如下两种方法: 在控制器中: 1、 $criteria = new CDbCriteria(); //new cdbcriteria数据库 $criteria-&gt;id = 'id...

    Yii的CDbCriteria查询条件用法实例

    本文实例总结了一些Yii的CDbCriteria查询条件用法,分享给大家供大家参考。具体分析如下: 这里就是Yii中使用CDbCriteria方法来进行查询的各种条件: 复制代码 代码如下:$criteria = new CDbCriteria; $criteria-&gt;...

    Isotope-infinitescroll-extention-for-yii:基于Isotope和infinitescroll实现的无限滚动瀑布流插件,适用于yii1.1

    Isotope-infinitescroll-extention-for-yii 基于和实现的无限滚动瀑布流插件,... 'criteria' =&gt; array( //'condition' =&gt; $condition, 'order' =&gt; 'pic_type DESC,pic_index', //'with' =&gt; array('author'), ), '

    Yii使用find findAll查找出指定字段的实现方法

    本文以实例形式展示了Yii使用find findAll查找出指定字段的实现方法,分享给大家供大家参考之用。具体方法如下: 总所周知,采用如下方法: modelName::model() -&gt; find() //找出的是一个对象 modelName::model() ...

    yii数据库的查询方法

    本文实例讲述了yii数据库的查询方法。分享给大家供大家参考,具体如下: 这里介绍两种查询方法。一种是直接查询,一种是使用借助criteria实现查询。 复制代码 代码如下:$user=User::model(); 1. 直接查询: $arr=...

    Yii分页用法实例详解

    下面我总结了在Yii常用的一些yii分页方式与实例代码,这里有普通分页与ajax实现分页,希望此文章对大家会有所帮助。 第一种:CListView分页 针对对象形式的数据分页 Controller: 复制代码 代码如下:public function...

    详解Yii实现分页的两种方法

    Yii实现分页的两种方法,一种是用DAO实现,另外一种是在widget实现. 各有优点吧,第一种效率会高一点, 第二种可以使用自带的表格,方便一些. 一. DAO实现分页.  [Controller层] public function actionReport() { ...

    Yii实现简单分页的方法

    本文实例讲述了Yii实现简单分页的方法。分享给大家供大家参考,具体如下: yii分页方法 function actionPage(){ $criteria=new CDbCriteria(); $count=Archives::model()-&gt;count($criteria); $pages=new ...

    Yii CDBCriteria常用方法实例小结

    本文实例讲述了Yii CDBCriteria常用方法。分享给大家供大家参考,具体如下: 注:$c = new CDbCriteria();是ActiveRecord的一种写法,使ActiveRecord更加灵活,而不是手册...$criteria = new CDbCriteria; //函数方式 $

    Yii列表定义与使用分页方法小结(3种方法)

    本文实例讲述了Yii列表定义与使用分页方法。分享给大家供大家参考,具体如下: 方法一:控制器定义 function actionIndex(){ $criteria = new CDbCriteria(); $count=Article::model()-&gt;count($criteria); $...

    Yii框架中 find findAll 查找出制定的字段的方法对比

    $criteria = new CDbCriteria; $criteria-&gt;select = 'username,id,email'; $criteria-&gt;order = 'id DESC'; $users = modelName::model()-&gt;findAll( $criteria ); 后台无意中看到别人有这么写的,

    Yii中CGridView实现批量删除的方法

    本文实例讲述了Yii中CGridView实现批量删除的方法。分享给大家供大家参考,具体如下: 1. CGridView中的columns添加 array( 'selectableRows' =&gt; 2, 'footer' =&gt; '&lt;button type=button onclick=GetCheckbox();...

    php开发工程师必备手册

    内容包括css2中文手册、css3中文手册、cssHack参考表、html4参考手册、html5参考手册、jquery1.4参考文档、jqueryAPI参考文档中文版、javascript...Criteria对照表、yii框架教程、yiiAPI、D语言2.0参考手册(上中下)...

Global site tag (gtag.js) - Google Analytics