ルート クロージャ内の特定の基準に基づいてモデルをクエリできる必要があります。
私はこのルートを持っています:
Route::get('courses/{category_slug}/{slug}', function($category_slug, $slug) {
$category = Category::where('slug', $category_slug)->first();
$course = Course::leftJoin('categories', 'categories.id', '=', 'courses.category_id')
->where('categories.slug', '=', $category_slug)
->where('courses.slug', '=', $slug)
->orWhere('categories.parent_id', '=', $category->id)
->where('categories.slug', '=', $slug)
->firstOrFail();
return View::make('courses.show')->with('course', $course);
});
これは部分的に機能しますが、ルートがサブカテゴリを指すか実際のページを指すかに応じて、get() または firstOrFail() を使用できるようにする必要があります。
この基準に基づいて変数の名前を変更し、別のブレード テンプレートを使用するように戻り値を変更するとよいでしょう。
このアプローチは実現可能ですか?ありがとう。
更新:私はほとんどそれを使用して動作しています:
問題は、$sub_category のクエリが何も返さない場合、モデルが見つからないというエラーが発生することです。