Yii2. Как установить значение по умолчанию для атрибута.


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

Приведу пример решения, которым пользуюсь сам и которое отлично подходит к любому приложению. Все, что вам потребуется переопределить метод beforeSave, в котором укзаать значение.

public function beforeSave($insert) {
    if ($insert) {
        $this->attr = 'defaultValue';
    }
    return parent::beforeSave();
}

Также, как вариант, можно выполнить то же действие в методе beforeValidate.

public function beforeValidate() {
    if ($this->isNewRecord) {
        $this->attr = 'defaultValue';
    }
    return parent::beforeValidate();
}

По большому счету, все просто и очевидно. : ) Удачи!

,

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *