2014-12-19 105 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