Другое значение / значение по умолчанию для свойства в модели Yii2 - PullRequest
0 голосов
/ 29 мая 2018

Я создал модель ActiveRecord, в которой пользователь вводит свою электронную почту и добавляется в базу данных в Yii2.Когда они добавляются в базу данных, я хочу обновить одно из моих свойств в зависимости от того, из какого представления они вводили информацию.Я знаю, что Yii2 позволяет вам установить значение по умолчанию в вашей модели, например

public function rules()
{
    return [
        [['view'], 'default', 'value' => a]
    ]
}

Но я не уверен, как установить разные значения по умолчанию для каждого вида.На мой взгляд, где у меня есть поле form-> ($ model, 'email') и отправка для ввода пользователя, я попытался setAttribute и setAttributes и создалмой собственный метод set, но все они не в состоянии установить свойство (я предполагаю, что они сработают, если я скажу, запросил мою базу данных и выполнил их на уже существующем экземпляре моей модели).

Яуверен, что я пропускаю что-то действительно простое

1 Ответ

0 голосов
/ 30 мая 2018

Не следует определять значение по умолчанию на основе текущего представления, поскольку модели (в общем случае) можно использовать не из представлений, а из консольных приложений или других мест в вашем коде, не связанных с конкретным представлением.

Как сказал @Patrick, вы можете добавить скрытое поле в каждом представлении, например:

<?= $form->field($model, 'view')->hiddenInput(['value'=> $this->id /* view id or whatever */])->label(false);
...