2017-02-05 3 views
0

にNotFoundHttpExceptionを投げるが::バインド()ルート::バインドこのルートは非存在リソース

、次のようにレイアウトリソースの完全なルーティングが

Route::bind('layout', function($value, $route) { 
    return App\Layout::where('id', $value)->first(); 
}); 

、NotFoundHttpExceptionを投げています

Route::model('layout', 'Layout'); 

Route::bind('layout', function($value, $route) { 
    return App\Layout::where('id', $value)->first(); 
}); 

Route::resource('layout', 'LayoutController'); 

リソースが存在しない場合にこの例外をスローしない完全に同じルーティング構成のリソースがいくつかあります。なぜこれは他の多くのルート構成と同じであるただ1つのルート構成で起こっているのでしょうか?私はこれらの他のすべてのリソースのコントローラに存在しないリソースを扱います。ここで

は完全なエラーで、

NotFoundHttpException in Handler.php line 113: 
No query results for model [App\Layout]. 

答えて

0
  1. あなたは、Route::modelRoute::bindの両方を使用する必要が最良のあなたの必要性に合ったものを選択して、私はちょうどRoute::model作品とは思わないRoute::model('layout', App\Layout::class);
  2. をお試しくださいあなたの場合は問題ありません
  3. routes.phpファイル
  4. ではなく、 RouteServiceProviderクラスにルートモデルおよびルートバインディングを登録してください
+0

ありがとうございました。私はしかし、同じエラーを取得しています。完全なエラーは、Handler.php行のNotFoundHttpExceptionです。[App \ Layout]モデルのクエリ結果がありません –

+0

Route :: modelを削除し、Route :: bindを使用してみてください – Paras

+0

Route :: model()を削除し、 :: web.phpからapp \ Providers \ RouteServiceProvider :: boot()へのbind()コール。他の人がコントローラに空のリソースを渡すときに、このリソースだけの非常に奇妙な二重標準を取得しています... –

関連する問題