Home  >  Article  >  Backend Development  >  Yii的CDbCriteria查询条件用法实例_php实例

Yii的CDbCriteria查询条件用法实例_php实例

WBOY
WBOYOriginal
2016-05-16 20:29:16918browse

本文实例总结了一些Yii的CDbCriteria查询条件用法,分享给大家供大家参考。具体分析如下:

这里就是Yii中使用CDbCriteria方法来进行查询的各种条件:

复制代码 代码如下:
$criteria = new CDbCriteria;
$criteria->addCondition("MACID=464"); //查询条件,即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('link', '裸体');//搜索条件where name like '%分类%'
$criteria->addBetweenCondition('id', 10000, 10005);//between 10000 and 10005

$criteria->compare('id', 1);  //这个方法比较特殊,他会根据你的参数
//自动处理成addCondition或者addInCondition,
//即如果第二个参数是数组就会调用addInCondition 
/**
* 传递变量
*/ 
$criteria->addCondition("id = :id"); 
$criteria->params[':id']=10; 
/**
* 一些public vars
*/ 
$criteria->select = 'id,MACID,type'; //代表了要查询的字段,默认select='*';
$criteria->join = 'xxx'; //连接表
$criteria->with = 'xxx'; //调用relations
$criteria->limit = 10;    //取1条数据,如果小于0,则不作处理
$criteria->offset = 1;   //两条合并起来,则表示 limit 10 offset 1,或者代表了。limit 1,10
$criteria->order = 'id DESC,MACID ASC' ;//排序条件
$criteria->group = 'group type';
$criteria->having = 'having 条件 ';
$criteria->distinct = FALSE; //是否唯一查询 
return new CActiveDataProvider('visitlog', array(
  'criteria'=>$criteria,
));

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn