当资源不存在时,此Route :: bind()抛出NotFoundHttpException,
Route::bind('layout', function($value, $route) {
return App\Layout::where('id', $value)->first();
});
布局资源的完整路由如下,
Route::model('layout', 'Layout');
Route::bind('layout', function($value, $route) {
return App\Layout::where('id', $value)->first();
});
Route::resource('layout', 'LayoutController');
我有几个资源具有完全相同的路由配置,当资源不存在时不会抛出此异常。为什么只有一个与其他路由配置相同的路由配置会发生这种情况?我为所有这些其他资源处理控制器中不存在的资源。
这是完整的错误,
NotFoundHttpException in Handler.php line 113:
No query results for model [App\Layout].
答案 0 :(得分:0)
Route::model('layout', App\Layout::class);
Route::model
和Route::bind
,选择最适合您需求的那个,我认为Route::model
适合您的情况RouteServiceProvider
课程中注册路线模型和/或路线绑定,而不是routes.php
档案