阅读(4892) (5)

Laravel 8 显式绑定

2021-06-23 11:57:18 更新

要注册显式绑定,请使用路由器的 model 方法为给定的参数指明参数对应的类。您应该在 RouteServiceProvider 类的 boot 方法的开头定义显式模型绑定:

/**
 * 定义你的路由模型绑定, pattern 过滤器等
 *
 * @return void
 */
public function boot()
{
    Route::model('user', AppModelsUser::class);

    // ...
}

接下来,定义一个包含 {user} 参数的路由:

Route::get('profile/{user}', function (AppModelsUser $user) {
    //
});

由于我们已将所有 {user} 参数绑定至 AppModelsUser 模型,所以 User 实例将被注入该路由。举个例子,profile/1 的请求会注入数据库中 ID 为 1User 实例。

如果在数据库中找不到匹配的模型实例,就会自动抛出一个 404 异常。