Точно по графику вышла новая версия Yii — 1.0.9.
В этой версии исправлено приблизительно 10 ошибок и сделано 20 усовершенствований. В частности была улучшена производительность Active Record, путем исключения ненужных SQL JOIN-ов.
Обновление до версии 1.0.9 должно пройти безболезненно, однако следует обратить внимание на выполнение релационных запросов с «ленивой загрузкой». Благодаря новым изменениям, реляционный запрос не будет объединять связанную таблицу с основной (иными словами join-a происходить не будет, реляционный запрос, по полученному из основной таблицы, первичному ключу, простым «селектом» выберет данные из подчиненной таблицы).
Из вкусненького:
— в класс CActiveRecord добавлен метод onBeforeFind и событие onBeforeFind — вызываемые перед отработкой метода выборки/поиска find() и findAll();
— в класс CDbCriteria добавлен метод addCondition — который позволяет добавлять условия выборки для запроса;
Метод имеет следующий вид:
public void addCondition(mixed $condition, string $operator='AND')
— в класс CDbCriteria добавлено свойство distinct, установив которое в true, запрос вида
<code>SELECT * FROM Table;</code>
превращается в
<code>SELECT DISTINCT * FROM Table;</code>
Yii как всегда порадовал!