您的位置:首页 > 编程语言 > PHP开发

Yii框架学习CDbCriteria查询条件收集

2014-05-30 10:09 357 查看
$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->addBetweenCondition('id', 10000, 10005);//between 10000 and 10005

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

$criteria->addSearchCondition('link', '裸体');//搜索条件,其实代表了。。where name like '%分类%'

$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,

));

或者:

$criteria = new CDbCriteria;

$criteria->compare('name',$this->name,true,'OR'); //like 部分匹配

//$criteria->addConition('id=1');

//$criteria->addInCondition('id',array(1,2,3,4,5,6));

$criteria->compare('name',array(1,2,3));

$criteria->addNotInCondition('id',array(1,2,3));

//$criteria->addCondition('id=1','OR');

//$criteria->addSearchCondition('name','分类');搜索条件,其实代表了。where name like '%分类%'

$criteria->compare("id","<>1"); //not like

$criteria->addBetweenCondition('id', 1, 4);//between 1 and 4

$criteria->compare('id', 1); //这个方法比较特殊,他会根据你的参数自动处理成addCondition或者addInCondition,

$criteria->compare("id","<1"); //这个方法他会根据你提供的条件进行判断 //即如果第二个参数是数组就会调用addInCondition

$command = yii::app()->getDb->createCommand();

$command->select('id,username,sex,age')->from('{{tbl_user}}');

$command->where('id=:id',array(':id'=>1));

$command->order('id ASC');

$result = $command->queryAll();

$criteria = new CDbCriteria;

$criteria->alias = 't'; //table t,默认select='*'

$criteria->select = 'id,name,age';

$criteria->join = 'xxx'; //join 连接表

$criteria->with = 'xxx';//调用relations $criteria->with = array('accounts','varchar');

$criteria->with = array('teacher'=>array('select'=>'username,company_id','order'=>'teacher.username ASC'));

$criteria->limit = 10;

$criteria->offset = 1;

$criteria->order = 'id DESC';

$criteria->group = 'group 条件';

$criteria->having = 'having 条件';

$criteria->distinct = FALSE; //是否唯一查询

Article::model->findAll($criteria);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: