При сохранении формы пустые поля делать null

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Закрыто
n.osenni
Сообщения: 14
Зарегистрирован: 2017.08.17, 01:19

При сохранении формы пустые поля делать null

Сообщение n.osenni »

Как при сохранении в бд через модель полученных из формы данных сделать так, чтобы пустые (незаполненные и необязательные) значения вставлялись в БД не как '', а как null?
Nex-Otaku
Сообщения: 831
Зарегистрирован: 2016.07.09, 21:07

Re: При сохранении формы пустые поля делать null

Сообщение Nex-Otaku »

В документации есть пример:

Код: Выделить всё

    // set "age" to be null if it is empty
    ['age', 'default', 'value' => null],
Читайте доки, это полезно.
Аватара пользователя
Dominus
Сообщения: 892
Зарегистрирован: 2013.03.14, 21:27
Откуда: Россия, Иваново
Контактная информация:

Re: При сохранении формы пустые поля делать null

Сообщение Dominus »

или в БД в таблице указать значение по умолчанию null или перед миграцией

Код: Выделить всё

//...
 'description' => $this->text()->defaultValue(null)->comment('Description'),
//...
или в модели в методе beforeSave() проверять и выставлять null

Код: Выделить всё

public function beforeSave($insert)
{
    if (parent::beforeSave($insert)) {
        $this->description = !empty($this->description) ? $this->description : null;
        return true;
    }
    return false;
}
Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!
n.osenni
Сообщения: 14
Зарегистрирован: 2017.08.17, 01:19

Re: При сохранении формы пустые поля делать null

Сообщение n.osenni »

Спасибо за ответы! Решено
Закрыто