Yii的Active Recorder包装了很多。
特别是把SQL中 把where,order,limit,IN/not IN,like等常用短句都包含进CDbCriteria这个类中去,这样整个代码会比较规范,一目了然。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| $criteria = newCDbCriteria; $criteria->addCondition("id=1"); $criteria->addInCondition('id', [1, 2, 3, 4, 5]); $criteria->addNotInCondition('id', [1, 2, 3, 4, 5]); $criteria->addCondition('id=1', 'OR'); $criteria->addSearchCondition('name', '分类'); $criteria->addBetweenCondition('id', 1, 4);
$criteria->compare('id', 1);
$criteria->addCondition("id = :id"); $criteria->params[':id'] = 1;
$criteria->select = 'id,parentid,name'; $criteria->join = 'xxx'; $criteria->with = 'xxx'; $criteria->limit = 10; $criteria->offset = 1; $criteria->order = 'xxx DESC,XXX ASC'; $criteria->group = 'group 条件'; $criteria->having = 'having 条件 '; $criteria->distinct = false;
|