【yii1--CDbCriteria】使用中间类查询
CDbCriteria代表查询条件,用于AR(CActiveRecord)查询方法。
$criteria=new CDbCriteria();
参数列举:
$select='*'; 代表了要查询的字段,默认'*'
$criteria->select = 'id,parentid,name';
$distinct=false; 是否唯一查询
$limit=-1; 取1条数据,如果小于0,则不作处理
$criteria->limit = 10;
$offset=-1; 两条合并起来,则表示 limit 10 offset 1,或者代表了。limit 1,10
$criteria->offset = 1;
$order=''; 排序条件 DESC ASC'
$criteria->order = 'id DESC,MACID ASC' ;
$join=''; 连接表条件
$criteria->join = 'xxxxx';
$group=''; 分组去重条件
$criteria->group = 'xxxxx';
$having=''; having一般跟在group by之后,以根据指定的条件过滤分组。where则是执行所有数据来工作的,where
和
having
不能同时出现
having 将过滤条件应用于每组分行,而where
子句将过滤条件应用于每个单独的行。
$criteria->having = 'xxxxx';
$alias; 查询表别名,默认为t
$together; 外部表是否应该与单个SQL中的主表连接。
$index; 其值应用作查询结果数组的索引
$condition=''; 查询条件,在mySql语句中where之后的部分,不会直接使用。
addCondition($condition,$operator='AND') 添加查询条件,参数默认and
$criteria->addCondition("ID=1"); //查询条件,即where id = 1
addSearchCondition($column,$keyword,$escape=true,$operator='AND',$like='LIKE') like查询条件
----
addInCondition($column,$values,$operator='AND')
addNotInCondition($column,$values,$operator='AND')
addColumnCondition($columns,$columnOperator='AND',$operator='AND')
compare($column, $value, $partialMatch=false, $operator='AND', $escape=true)
addBetweenCondition($column,$valueStart,$valueEnd,$operator='AND')
mergeWith($criteria,$operator='AND')
toArray()