我在下面列出的laravel应用程序中有两条Web中间件路由:
Route::get('package/{slug}','GetPublicController@tourDetail')
->name('single');
和
Route::get('/trips/{category}','GetPublicPageController@getBycategory')
->name('getBycategory');
第一条路线运作良好但第二条路线没有。第二条路线与第一条路线冲突,因为它试图查看第一条路线,导致错误和应用程序崩溃。
第一条路线的方法:
public function tourDetail($slug)
{
$tour = Tour::where('slug', '=', $slug)
->first();
$itineraries = Itinerary::where('tour_id','=', $tour->id)
->orderBy('id', 'asc')->get();
$depature_dates = $tour->datePrice()->FixedDates($tour->id, date('m'),date('Y'))->get();
return view('public.tour.tour-detail')
->withTour($tour)
->withItineraries($itineraries)
->withDepatures($depature_dates);
}
第二路线的方法
public function getByCategory($category)
{
$query = Tour::whereHas('category', function($r) use($category) {
$r->where('tcategories.name','=', $category);
});
return view('public.pages.category-list')
->withResults($query);
}
如果有人能提出解决此问题的最佳方法,那将非常有帮助。 谢谢。
答案 0 :(得分:0)
您必须在->get()
中的查询上致电getByCategory
。