Хабр Курсы для всех
РЕКЛАМА
Большая витрина: от крупнейших школ до частных авторов. Сравнивайте по цене, длительности, формату и выбирайте самый подходящий курс!
Although Yii DAO can handle virtually any database-related task, chances are that we would spend 90% of our time in writing some SQL statements which perform the common CRUD (create, read, update and delete) operations. It is also difficult to maintain our code when they are mixed with SQL statements. To solve these problems, we can use Active Record.

<?
class Image {
const RESIZE_METHOD_RESIZE = 'resize';
const RESIZE_METHOD_CROP = 'crop';
const RESIZE_METHOD_CROP_TOP = 'cropTop';
const RESIZE_METHOD_CROP_WITHOUT_CROPPING = 'cropWithoutCropping';
const RESIZE_METHOD_SOMTHING = 'somthing';
const RESIZE_METHOD_ETC = 'etc';
// Эти константы не нужны для какой-то логики,
// но они нужны для автокомплита и что бы не опечататься.
}
?>
Откуда они подлецы вообще появляются?
Программируйте с использованием языка, а не на языке.
… среда разработки должна подстраиваться под код ...
...
->conditions
->is('Model.field', 123) // отступили
->between('Model.field5', 5, 5)
->notLike('Model.field8', '%8%')
->up()
->recursive(1) // вернулись
...
$conditions = $this->findParams
->conditions(
$this->findParams->createCondition()
->is('Model.field', 123)
->between('Model.field5', 5, 5)
->notLike('Model.field8', '%8%'))
->recursive(1)
->fields('Model.field1', 'DISTINCT Model.field2')
->order('Model.created', 'Model.field3 DESC')
->group('Model.field')
->limit(100)->page(1)->offset(10)
->callbacks(true)
->get()
;
ООП-билдер «массивных» параметров