CDbCriteria是yii封装的一个数据库查询类,类似于一种格式化的数据库查询方式。其目的是为了让数据库查询更加的灵活和清晰,与php手册的数据库操作稍有区别。
初始化和查询结果
$criteria = new CDbCriteria; // 在这里添加一些查询条件 // ... // 在这里返回查询结果 $result1 = new CActiveDataProvider($this, array( 'criteria'=>$criteria, )); // 或者在这里返回查询结果 $result2 = SomeModel::model()->findAll($criteria);
查询条件的设置方式
隐藏继承属性
属性 | 类型 | 描述 | 定义在 |
---|---|---|---|
alias | string | 表的别名 | CDbCriteria |
condition | string | 查询条件 | CDbCriteria |
distinct | boolean | 是否查询不重复的数据 | CDbCriteria |
group | string | 数据如何分组 | CDbCriteria |
having | string | 和 group 一起使用,作为group的条件 | CDbCriteria |
index | string | 应将其值用作查询结果数组的索引的AR属性的名称。 | CDbCriteria |
join | string | 如何与别的表一起联合查询 | CDbCriteria |
limit | integer | 查询结果的最大返回数量。 | CDbCriteria |
offset | integer | 从零算起,返回多少条记录后的数据。 | CDbCriteria |
order | string | 查询结果如何排序 | CDbCriteria |
paramCount | integer | 不设定参数名称的参数数量。 | CDbCriteria |
params | array | 查询条件的一个列表,例如:array(':name'=>'Dan', ':age'=>31) | CDbCriteria |
scopes | mixed | scopes to apply 只有在使用以下方法时,该属性才有效:
能按以下列表的其中一项设置:
| CDbCriteria |
select | mixed | 需要通过查询获取结果的列名,默认获取所有列 | CDbCriteria |
together | boolean | 外表是否应该与主表放在同一个SQL查询中 | CDbCriteria |
with | mixed | criteria 查询关系。 | CDbCriteria |