场景
我以这样的方式设置了Laravel应用程序路由,其中
Route::group(["domain" => getSubDomain()->sub_domain,"middleware"=>
["guest"]], function () {
//member routes
});
具有一个辅助函数getSubDomain()-> sub_domain,该函数正在检查companies表中允许的sub_domain。这是辅助功能代码
$domain = \App\Model\Company::where('sub_domain', request()->getHost())->whereIn("company_type_id", (array)$company_type_id)->first();
return !empty($domain) ? $domain : new \App\Model\Company(
[
"sub_domain" => !in_array(4, $company_type_id) ? env("sub_domain") : "",
"welcome_message" => env("welcome_message"),
"domain_flag" => "assets/images/dev-logo.png"
]);
简而言之,此帮助程序功能将在数据库中检查有关子域的内容是什么?并根据有效的子域创建路由。
问题
此实现要求表中有sub_domain
列,并且该迁移尚未使用迁移来运行,
因此,当我使用php artisan migrate
运行迁移时,它向我显示了无效的列sub_domain。
这正在产生冲突,要运行迁移路由会产生问题,并准备适当的路由,需要运行迁移。
以前,同一实现使用.env变量,但这有点乏味,因为需要新域的支持。
任何人都可以在不干扰Routes
的情况下进行迁移的解决方案吗?