У меня есть эти строки в моей actionCreate
:
if (isset($_POST['DpcioCbn'])) { print_r($_POST['DpcioCbn']); $model->attributes = $_POST['DpcioCbn']; print_r($model->attributes); die(); ... }
которые возвращают это:
Array ( [code] => 34324 [bn_fa] => dfsf [bn_en] => sdf [cbn_fa] => sdfds [cbn_en] => f [description] => dsfsdfsdf [update_at] => 1391-03-16 [active] => 1 ) Array ( [active] => 1 [code] => 34324 [bn_fa] => dfsf [bn_en] => sdf [cbn_fa] => sdfds [cbn_en] => f [update_at] => 1391-03-16 [id] => [description] => )
что происходит для поля description
? есть ли что-нибудь в этом задании Yii?
Я обнаружил, что существует термин в yii вокруг этого типа назначений: Massive Assignment. Поэтому я должен явно определить валидацию для каждого поля, чтобы сделать Massive Assignment.
public function rules() { return array( ... array('description', 'safe'), ... ); }
http://www.yiiframework.com/wiki/161/understanding-safe-validation-rules/#hh2
Для некоторых полей нет ничего, чтобы подтвердить, не так ли?
Неправильно: только назначая значения полей, которые явно указано пользователем, имеют право на копирование в $ model, это ограничивает использование махинаций плохого парня, пытающегося загрязнить модель.
Даже если поле не имеет определенных валидаций в формате данных, нам все равно нужно указать Yii, что мы хотим, чтобы атрибут был скопирован во время Massive Assignment. Это делается с помощью «безопасного» валидатора.
Неправильно: только назначая значения полей, которые явно указано пользователем, имеют право на копирование в $ model, это ограничивает использование махинаций плохого парня, пытающегося загрязнить модель.
Даже если поле не имеет определенных валидаций в формате данных, нам все равно нужно указать Yii, что мы хотим, чтобы атрибут был скопирован во время Massive Assignment. Это делается с помощью «безопасного» валидатора. http://www.jili.ir