0
我需要能够根据路径封闭内的特定标准查询模型。if/else逻辑在雄辩查询中
我有这样的路线:
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);
});
这部分作品,但我需要能够要么使用取决于获得()或firstOrFail()是否路由指向一个子类或实际页。
根据此条件更改变量的名称以及使用不同刀片模板的返回值也不错。
这种方法是否可行?谢谢。
更新:我几乎都有它的工作使用:
问题是,如果$ sub_category查询不返回任何东西,我得到未找到错误的模型。
如果你不想引发错误,只需使用'first'即可。然后检查'$ sub_category'是否为空,以确保您获得结果。 –