在迁移中添加多个列
发布于 作者: Paul Redmond
Laravel 8.27 引入了一个新的 after
方法,它位于 Blueprint 迁移实例上,允许您同时在现有列之后添加多个新列。
下周 Laravel 将发布:在特定列之后添加多个列。 pic.twitter.com/WzfW9mWCcY
— Mohamed Said (@themsaid) 2021 年 2 月 5 日
以前,您必须引用每个新列才能使顺序正确。您可以看到 after
清楚地简化了此代码。
Schema::table('customers', function ($table) { $table->string('address_line1')->after('password'); $table->string('address_line2')->after('address_line1'); $table->string('city')->after('address_line2');});
虽然原始代码并不难写,但 after()
方法避免了对每个后续新列的重复 after()
调用,并为添加多个列提供了一个很好的抽象。将此与 Laravel 8 的 迁移压缩 和模型工厂类结合起来,Laravel 继续改进已经成为任何框架中最好的迁移工具之一。
如果您想了解更多关于 Laravel 如何实现此功能的信息,请查看 Pull Request #36145。在发布 v8.27.0 之后,在现有列之后添加多个列的功能变得可用。