Yii CDbCriteria常用用法

Java代码  

  1. $criteria = new CDbCriteria;  
  2. $criteria->compare('name',$this->name,true,'OR'); //like部分匹配  
  3. //$criteria->addCondition("id=1"); //查询条件,即where id = 1  
  4. //$criteria->addInCondition('id', array(1,2,3,4,5)); //代表where id IN (1,2,3,4,5);  
  5. $criteria->compare('name', array(1,2,3,4,5));  
  6. $criteria->addNotInCondition('id', array(1,2,3,4,5));//与上面正好相法,是NOT IN  
  7. //$criteria->addCondition('id=1','OR');//这是OR条件,多个条件的时候,该条件是OR而非AND  
  8. //$criteria->addSearchCondition('name', '分类');//搜索条件,其实代表了。where name like '%分类%'  
  9. $criteria->compare("id","<>1"); //not like  
  10. $criteria->addBetweenCondition('id', 1, 4);//between 1 and 4  
  11. $criteria->compare('id', 1); //这个方法比较特殊,他会根据你的参数自动处理成addCondition或者addInCondition,  
  12. $criteria->compare("id","<1"); //这个方法他会根据你提供的条件进行判断  
  13. //即如果第二个参数是数组就会调用addInCondition  

推荐compare,搜索条件允许为空因此不需要加条件

Java代码  

  1. $criteria = new CDbCriteria;  
  2. $criteria->alias = 't';  //table t,默认select='*';  
  3. //一些public vars   
  4. $criteria->select = 'id,parentid,name'; //代表了要查询的字段,默认select='*';    
  5. $criteria->join = 'xxx'; //连接表    
  6. $criteria->with = 'xxx'; //调用relations   $criteria->with = array('accounts','varchar');  
  7. $criteria->with  = array('teacher'=>  
  8.     array('select'=>'username,company_id',  
  9.      'order'=>'teacher.username ASC')  
  10. );  
  11. $criteria->limit = 10;    //取1条数据,如果小于0,则不作处理    
  12. $criteria->order = 'xxx DESC,XXX ASC' ;//排序条件    
  13. $criteria->group = 'group 条件';    
  14. $criteria->having = 'having 条件 ';    
  15. $criteria->distinct = FALSE; //是否唯一查询  
  16. Article::model()->findAll($criteria);  

DAO

Java代码  

  1. $sql ='  ...  yiiblog_desc like :keywords or yiiblog_title like :keywords ... ';  
  2. $TmpStatement = Yii::app()->db->createCommand($sql);  
  3. $TmpStatement->bindValue(':keywords', '%'.$keywords.'%');  
  4. findAll('username like :username ' ,array(":username"=>"%$key%"));  

小于11

Java代码  

  1. Member::model()->findByAttributes(array(), "id<:id", array(':id'=>11))  

 sum

Java代码  

  1. //public $total = 0; //model attribute  
  2. $criteria = $this->getCDbCriteria();  
  3. $criteria->select = 'SUM(t.amount) AS total';  
  4. return self::model()->find($criteria);  

 

 

时间: 2024-09-10 08:52:25

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拼

YII路径的用法总结_php实例

在yii中如果是 // 就会默认去调 protected/views/layouts,//代表绝对路径.这其实就是绝对和相对的关系 /代表相对路径,如module/user下的layout.使用单斜杠的话默认会先找当前已经激活的模块底下的view,若当前未有激活的模块则从系统根目录下开始找,双斜杠的话就直接从系统根下开始找 Yii framework已经定义的命名空间常量: system: 指向Yii框架目录; YII\frameworkzii: 指向zii library 目录; YII\fr

Yii框架上传图片用法总结_php实例

本文实例讲述了Yii框架上传图片用法.分享给大家供大家参考,具体如下: Yii 提供了 CUploadedFile 来上传文件,比如图片,或者文档. 官方关于这个类的介绍 : CUploadedFile represents the information for an uploaded file. Call getInstance to retrieve the instance of an uploaded file, and then use saveAs to save it on th

Yii rules常用规则示例_php实例

本文讲述了Yii rules常用规则.分享给大家供大家参考,具体如下: public function rules() { return array( //必须填写 array('email, username, password,agree,verifyPassword,verifyCode', 'required'), //检查用户名是否重复 array('email','unique','message'=>'用户名已占用'), //用户输入最大的字符限制 array('email, us

Yii中表单用法实例详解_php实例

本文实例讲述了Yii中表单用法.分享给大家供大家参考,具体如下: 在 Yii 中处理表单时,通常需要以下步骤: 1. 创建用于表现所要收集数据字段的模型类. 2. 创建一个控制器动作,响应表单提交. 3. 在视图脚本中创建与控制器动作相关的表单. 一.创建模型 在编写表单所需的 HTML 代码之前,我们应该先确定来自最终用户输入的数据的类型,以及这些数据应符合什么样的规则.模型类可用于记录这些信息.正如模型章节所定义的,模型是保存用户输入和验证这些输入的中心位置. 取决于使用用户所输入数据的方式

Yii净化器CHtmlPurifier用法示例(过滤不良代码)

本文实例讲述了Yii净化器CHtmlPurifier用法.分享给大家供大家参考,具体如下: 1. 在控制器中使用: public function actionCreate() { $model=new News; $purifier = new CHtmlPurifier(); $purifier->options = array( 'URI.AllowedSchemes'=>array( 'http' => true, 'https' => true, ), 'HTML.All

System 类 和 Runtime 类的常用用法介绍_java

System类的常用用法1,主要获取系统的环境变量信息 复制代码 代码如下: public static void sysProp()throws Exception{  Map<String,String> env = System.getenv();  //获取系统的所有环境变量  for(String name : env.keySet()){   System.out.println(name + " : " +env.get(name));  }  //获取系统的

C#中一些字符串操作的常用用法_C#教程

C#中一些字符串操作的常用用法 //获得汉字的区位码 byte[]array=newbyte[2]; array=System.Text.Encoding.Default.GetBytes("啊"); inti1=(short)(array[0]-''\0''); inti2=(short)(array[1]-''\0''); //unicode解码方式下的汉字码 array=System.Text.Encoding.Unicode.GetBytes("啊"); i

正则表达式常用用法汇总

在没看正文之前,先给大家介绍下正则表达式基本概念: 正则表达式,又称正规表示法.常规表示法.(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表达式使用单个字符串来描述.匹配一系列符合某个句法规则.在很多文本编辑器里,正则表达式通常被用来检索.替换那些符合某个模式的文本. 正则表达式,有木有人像我一样,学了好几遍却还是很懵圈,学的时候老明白了,学完了忘光了.好吧,其实还是练的不够,所谓温故而知新,可以为师矣,今天就随我来复习