您当前的位置:首页 > 分类 > 技术资讯 > YII > 正文

Yii-模型- criteria查找数据库方法

发布时间:2014-12-25 10:46:10      来源:51推一把
【摘要】Yii-模型- criteria查找数据库方法
数据模型搜索方法:

public function search()  
{  
    // Warning: Please modify the following code to remove attributes that  
    // should not be searched.  
  
    $criteria=new CDbCriteria;  
  
    $criteria->compare(id,$this->id);  
    $criteria->compare(title,$this->title,true);                //支持模糊查找  
    $criteria->compare(content,$this->content,true);            //支持模糊查找  
    $criteria->compare(type,$this->type);  
    $criteria->compare(user,$this->user,true);              //支持模糊查找  
    $criteria->compare(status,$this->status);  
    $criteria->compare(create_data,$this->create_data,true);    //支持模糊查找  
  
    return new CActiveDataProvider($this, array(  
        criteria=>$criteria,  
        pagination=>array(  
            pageSize=>50,  
        ),  
    ));  
}  

定义比较运算
$criteria->compare(create_time,<=.$this->endtime),//创建早间小于等于指定时间  

定义要查找的字段

//查找的结果   
$criteria->select = id,title,content,author,status,createtime,  
//也可以以下一种方式定义  
$criteria->select = array(id,title,content,author,status,createtime),  

定义填加查找条件
//定义条件    
$criteria->select =  status=1,  
//添加匹配  
$criteria->compare(title,$this->title,true),  
//添加条件 $condition可以是数组,也可以是字符串,and可以省略  
$criteria->addCondition($condition,and),  
//添加IN条件 $column为字段名  
$criteria->addInCondition(string $column, array $values, string $operator=AND)  
//添加notin条件  
$criteria->addNotInCondition(string $column, array $values, string $operator=AND)  
//添加like条件  
$criteria->addSearchCondition(string $column, string $keyword),  
//添加Between条件  
$criteria->addBetweenCondition(string $column, string $valueStart, string $valueEnd, string $operator=AND),  
JOIN连表查询
$criteria->join = LEFT JOIN users ON users.id=authorID,  

order查询结果排序
$criteria->order = createtime DESC,  

group结果分组
$criteria->group =  projectID, teamID,  

having筛选分组结果分组数量
$criteria->having =  SUM(revenue)<50000,