【发布时间】:2019-05-29 16:38:15
【问题描述】:
我正在为一个包含很多列的表编写 Laravel 迁移文件,而其中大多数应该是 nullable(不幸的是有些不是)。这导致我编写重复的代码,例如:
Schema::create('my_table', function (Blueprint $table) {
$table->increments('id');
$table->string('col_1')->nullable();
$table->string('col_2')->nullable();
$table->string('col_3')->nullable();
// ...
// (Note that col_1 etc can be different names instead of incrementing by no.)
});
有没有办法默认设置表蓝图nullable(无需显式调用nullable()),或者一次将nullable分配给所有想要的列?或者是否有其他方法(最好在迁移文件中)来做到这一点?
【问题讨论】:
-
您总是可以将 ColumnDefinitions 放在一个数组中,然后在每个数组上调用 nullable()。或者,您可以通过 Macroable 接口扩展蓝图。有很多方法可以做到这一点而无需重复自己。
标签: laravel