您的位置:首页 > 编程语言 > PHP开发

Yii CDbCriteria 类常用的用法

2017-04-27 00:00 309 查看
摘要: Yii封装了一个CDbCriteria类,用于组织对AR查询时各种条件拼装,这里详细的说明下这个类的使用方法

不废话,直接上代码

// 实例化
$criteria = new CDbCriteria;

$criteria->addCondition("id=1"); // 表示 where id = 1
$criteria->addInCondition('id', array(1, 2, 3, 4, 5)); // 表示 where id IN (1,2,3,4,5)
$criteria->addCondition('id = 1', 'OR'); // 表示 这里是 OR 条件
$criteria->addSearchCondition('name', '张三');// 表示 where name like '%张三%'
$criteria->addBetweenCondition('id', 1, 4); // 表示 between 1 and 4

$criteria->compare('id', 1); // 表示 where id = 1
$criteria->compare('id', 1, true); // 表示 where id like '%1%'

// 参数绑定
$criteria->addCondition('id=:id');
$criteria->params[':id'] = 1;

$criteria->select = 'id, name'; // 要查询的字段,默认 select = '*'  也可用 array('id', 'name')
$criteria->join = 'left join user as u on u.id = t.id';  // 连接表
$criteria->with = 'xxx'; // 调用 relations
$criteria->limit = 10; // 取10数
$criteria->offset = 1; // 两条合并起来,则表示 limit 10 offset 1,或者代表了 limit 1, 10
$criteria->order = 'id DESC, name ASC'; //排序条件
$criteria->group = 'name'; // group 分组
$criteria->having = 'SUM(revenue) < 50000'; // having 条件

return new CActiveDataProvider($this, array(
'criteria' => $criteria,
'pagination' => array(
'pageSize' => 15    // 页数
),
'sort' => array(
'defaultOrder' => 'id DESC'     // 默认排序
),
));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Yii CDbCriteria