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

来源:互联网 发布:nginx window安装配置 编辑:程序博客网 时间:2024/05/16 07:11
  1.  $criteria = new CDbCriteria;    
  2.   
  3. $criteria->addCondition("MACID=464"); //查询条件,即where id = 1      
  4.  
  5. $criteria->addInCondition('id'array(1,2,3,4,5)); //代表where id IN (1,23,,4,5,);      
  6.   
  7. $criteria->addNotInCondition('id'array(1,2,3,4,5));//与上面正好相法,是NOT IN  
  8.     
  9. $criteria->addBetweenCondition('id', 10000, 10005);//between 10000 and 10005  

  10. $criteria->addCondition('id=1','OR');//这是OR条件,多个条件的时候,该条件是OR而非AND      
  11.   
  12. $criteria->addSearchCondition('link''裸体');//搜索条件,其实代表了。。where name like '%分类%'      
  13.   
  14.   
  15. $criteria->compare('id', 1);    //这个方法比较特殊,他会根据你的参数自动处理成addCondition或者addInCondition,      
  16.                             //即如果第二个参数是数组就会调用addInCondition      
  17.  /**   
  18.  * 传递变量   
  19.  */      
  20. $criteria->addCondition("id = :id");      
  21. $criteria->params[':id']=10;      
  22. /**   
  23. * 一些public vars   
  24. */      
  25. $criteria->select = 'id,MACID,type'//代表了要查询的字段,默认select='*';      
  26.   
  27. $criteria->join = 'xxx'//连接表      
  28.   
  29. $criteria->with = 'xxx'//调用relations       
  30.   
  31. $criteria->limit = 10;    //取1条数据,如果小于0,则不作处理      
  32.   
  33. $criteria->offset = 1;   //两条合并起来,则表示 limit 10 offset 1,或者代表了。limit 1,10      
  34.   
  35. $criteria->order = 'id DESC,MACID ASC' ;//排序条件      
  36.   
  37. $criteria->group = 'group type';      
  38.   
  39. $criteria->having = 'having 条件 ';      
  40.   
  41. $criteria->distinct = FALSE; //是否唯一查询       
  42. return new CActiveDataProvider('visitlog'array(    
  43.    'criteria'=>$criteria,    
  44. ));  
  45. 或者:
  46. $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', 14);//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);


0 0