2014-12-19 2 views
25

Я добавляю поле в таблицу в миграции, которое я хочу разрешить для NULL, но также хочу, чтобы оно по умолчанию равнялось NULL. Что я помещаю в методе по умолчанию? Я боюсь, что вставьте "NULL" в попытку поместить строку NULL, в которой я, очевидно, не хочу. Пожалуйста, помогите :)Установите значение по умолчанию для NULL с миграцией laravel

Schema::table('item_categories', function(Blueprint $table) 
{ 
    $table->integer('parent_item_category_id')->unsigned()->nullable()->default($what_to_put here); 
}); 

ответ

55

При использовании метода nullable() на поле, это поле будет по умолчанию NULL.

+0

Если перед полем было значение по умолчанию, и я пытаюсь применить миграцию с удаленным значением по умолчанию и добавлен метод «nullable», а затем «изменить», он не работает. Значение по умолчанию для первой миграции сохраняется. Только определение «NOT NULL» удаляется. (С MySQL.) –

+2

Тем не менее, '$ what_to_put_here = null' работал для меня. –

+0

«Когда вы используете метод nullable() в поле, это поле по умолчанию имеет значение NULL». Кажется, что это не верно для Laravel 5.3, когда включен режим строгой БД, и вы используете временную метку. Вы должны явно установить значение по умолчанию равным null. – chris342423

Смежные вопросы