id, parent_id, title, slug
bu değerlerden oluşan bir kategori tablom var. Ürün eklerken ürünler tabloma sadece category_id yi alıyorum.
Ürünleri listelerken category_id ile ürünleri ilgili kategoride gösterebiliyorum. Fakat ürün alt kategorideyse bu ürünü modelde bağladığım ana kategori içinde nasıl gösterebilirim?
Category model şu şekilde;
public function subCategories() {
return $this->hasMany('App\Models\Category', 'parent_id');
}
Controller
public function categories($slug) {
$categories = Category::whereParentId(null)->get();
$category = Category::whereSlug($slug)->first() ?? abort(403, 'Böyle bir kategori bulunamadı.');
$products = Product::whereCategoryId($category->id)->get();
return view('frontend.product.category', compact('category', 'products', 'categories'));
}