При переходе на Yii 1.1 возникли проблемки…
Есть модель
class Item extends CActiveRecord
{
public static function model($className=__CLASS__)
{
return parent::model($className);
}
public function tableName()
{
return 'items';
}
}
При сабмите формы выполняется код:
$model = Item::model()->findByPk(1);
$model->setAttributes($_POST);
$model->save();
В Yii 1.0.x все без проблем, а вот в Yii 1.1 данные не сохраняются. После курения манов нашел выход - вызывать
$model->setAttributes($_POST, false);
то есть выставить флаг safeOnly в false.
В массиве $_POST могут содержаться ключи, отсутствующие в модели (из, соответственно, при сохранении пропускать).
Как я понял, флаг safeOnly позволяет включать / выключать "безопасные атрибуты", только что это за зверь так и не разобрался.
Вопрос такой: есть ли возможность избежать переписывания кода все контроллеров, внеся изменения только в модели? И как это наиболее грамотно сделать?