Я фильтрую результаты через переменную request () ->.Когда есть только одна переменная, представление возвращается, как и должно быть, например ... / products / summer, отображая только товары, которые относятся к определенному сезону.
То, что я пытаюсь сделать, это вызвать в секундупеременная / products / summer? product_category = рубашки, отображающие продукты сезона, как указано выше, при фильтрации тех, которые относятся к определенной категории (например, рубашки).
Это моя часть контроллера:
public function index()
{
if (request()->season) {
$products = Product::with('seasons')->whereHas('seasons', function ($query){
$query->where('slug', request()->season);
})->get();
$product_categories = ProductCategory::with('seasons')->whereHas('seasons', function ($query){
$query->where('slug', request()->season);
})->get();
$season = Season::where('slug', request()->season)->firstOrFail();
} **elseif (request()->product_category)** {
$products = Product::with('product_categories')->whereHas('product_categories', function ($query){
$query->where('slug', request()->product_category);
})->get();
$product_categories = ProductCategory::with('seasons')->get();
$season = Season::where('slug', request()->season)->first();
}......
return view('season')->with([
'products' => $products,
'product_categories' => $product_categories,
'season' => $season,
]);
Есть ли способ включить сезон и product_category в приведенный выше код, чтобы он соответствовал лету? Product_category = shirts?
Моя навигационная ссылка передает это:
href="{{ route ('season.index',['season' => $season->slug, 'product_category' => $product_category->slug])}}"
Маршрут:
Route::get('/products/{season?}', 'SeasonController@index')->name('season.index');
Спасибо за потраченное время.