Laravel 8 显式绑定
要注册显式绑定,请使用路由器的 model
方法为给定的参数指明参数对应的类。您应该在 RouteServiceProvider
类的 boot
方法的开头定义显式模型绑定:
/**
* 定义你的路由模型绑定, pattern 过滤器等
*
* @return void
*/
public function boot()
{
Route::model('user', \App\Models\User::class);
// ...
}
接下来,定义一个包含 {user}
参数的路由:
Route::get('profile/{user}', function (App\Models\User $user) {
//
});
由于我们已将所有 {user}
参数绑定至 App\Models\User
模型,所以 User
实例将被注入该路由。举个例子,profile/1
的请求会注入数据库中 ID 为 1
的 User
实例。
如果在数据库中找不到匹配的模型实例,就会自动抛出一个 404 异常。