Вывожу товары категории, если у товара category_id равен id данной категории. А как сделать, если у данной категории имеются родительская категория? Тогда при нажатии на родительскую категорию товары не выводятся, так как id у нее другой и не соответствует запросу. Мне надо, чтобы при выборе родительской категории, отображались все товары данной категории, а также все товары дочерних категорий если они есть
Контроллер:
public function show($slug)
{
$category = Category::where('slug', $slug)->first();
$products = $category->products()->orderBy('created_at')->paginate(12);
return view('category.product', [
'products' => $products,
'category' => $category,
]);
}
Модель:
class Category extends Model
{
use Sluggable;
public function sluggable(): array
{
return [
'slug' => [
'source' => 'name'
]
];
}
public function products()
{
return $this->hasMany(Product::class);
}
}
Route:
Route::get('/category/{category_id:slug}', [\App\Http\Controllers\CategoryController::class, 'show'])->name('category.product');