2014-12-19 27 views
25

我正在向希望允許爲NULL的遷移中的表中添加一個字段,但也希望它默認爲NULL。我在默認方法中放置了什麼?我擔心把"NULL"放入一個NULL的字符串中,我顯然不想要。請幫助:)使用laravel遷移將缺省值設置爲NULL

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

回答

55

當您在字段上使用nullable()方法時,該字段將默認爲NULL。

+0

如果一個字段之前有一個默認值,並且我嘗試應用一個刪除了默認值並添加了「可空」方法的遷移,然後「更改」,則它不起作用。保留第一次遷移的默認值。只是「NOT NULL」定義被刪除。 (使用MySQL。) – 2017-09-04 19:15:39

+2

但是,'$ what_to_put_here = null'爲我工作。 – 2017-09-04 19:25:57

+0

「當在字段上使用nullable()方法時,該字段將默認爲NULL。」對於Laravel 5.3,當嚴格DB模式啓用且您使用時間戳時,似乎不再適用。您必須明確地將默認值設置爲空。 – chris342423 2017-12-30 18:15:24