【发布时间】:2017-04-30 21:32:51
【问题描述】:
我正在努力做到这一点,以便我可以让组内的所有路由自动使用域参数,而无需在视图中指定它等等。这是我正在寻找的示例。
路线组代码:
Route::group(['domain' => '{tenant_domain}.myapp.com', 'middleware' => 'tenant'], function () {
tenant 中间件句柄:
public function handle($request, $next)
{
session(['tenant_domain' => $request->route('tenant_domain')]);
return $next($request);
}
因此,我不必在所有视图中都使用此代码:
{{ route('login', ['tenant_domain' => session('tenant_domain')]) }}
我只想使用:
{{ route('login') }}
然后在RouteServiceProvider 的boot() 方法中,有类似的东西:
public function boot()
{
if (isset(session('my_parameter'))) {
Route::addParameter(['tenant_domain' => session('tenant_domain')]);
}
parent::boot();
}
我怎样才能正确执行此操作以使其正常工作?
【问题讨论】:
-
我会让中间件做
config('tenant.domain', $request->route('tenant_domain')),然后在你想访问变量的地方使用config('tenant.domain')。 -
我该如何做,这样我就不必将
tenant_domain作为组内路由的参数包含在内?我尝试在tenant中间件中使用$request->route()->forgetParameter('tenant_domain'),但它不起作用。 -
Ohhhhh,我现在更好地理解了这个问题。抱歉,我没有答案。