Laravel 5通配符子域+路由模型绑定

Con*_*hol 5 php laravel

因此,当您在通配符子域组路由中定义类似于以下内容的资源控制器时:

Route::group(array('domain' => '{subdomain}.example.com'), function() {
  Route::resource('users', 'UserController');
});
Run Code Online (Sandbox Code Playgroud)

在RouteServiceProvider上

$router->model('user', 'App\User');
Run Code Online (Sandbox Code Playgroud)

并在UserController的show方法上:

public function show($user)
{
    return $user;
}
Run Code Online (Sandbox Code Playgroud)

我得到的是子域名而不是用户资源。这是因为subdomain参数被传递给控制器​​方法,我将不得不像这样更改它们:

public function show($subdomain, $user)
{
    return $user;
}
Run Code Online (Sandbox Code Playgroud)

我只是不想将subdomain参数添加到应用程序中的每个控制器方法,因为我不会对此做任何事情。我在中间件中使用subdomain参数来进行一些配置更改。

我该怎么办,以使子域不会作为参数传递给控制器​​?

Mar*_*ala 0

在你的控制器函数中,如果你不使用它,你可以忽略 $dubdomain 并确保你像这样输入提示用户

public function show(User $user)
{
    return $user;
}
Run Code Online (Sandbox Code Playgroud)