我想创建一个函数dropColumnIfExists
用于laravel迁移,我在网上找到了下面的代码。
function myDropColumnIfExists($myTable, $column)
{
if (Schema::hasColumn($myTable, $column)) //check the column
{
Schema::table($myTable, function (Blueprint $table)
{
$table->dropColumn($column); //drop it
});
}
}
字符串
我想知道这个helper函数应该放在哪里(在类中或独立/在哪个文件中)以及如何最好地导入它。
其次,intelephense给我的错误是没有找到Schema。我应该在运行时将Schema传递给函数,还是再次遵循约定?
1条答案
按热度按时间ezykj2lf1#
Schema Bleuprint是可宏的,这意味着你可以扩展和添加你自己的函数。
例如,您可以创建自己的服务提供商(例如:
CustomSchemaServiceProvider
)并注册它。我创建了代码,并在我的本地测试它,它的工作原理与预期一样,你可以twik,因为你得到的想法;)
字符串
现在尝试您的迁移文件:ex:
型