我的项目有主要类别-子类别和产品。每个产品都有一个subcategory_id,每个子类别都有一个category_id。
现在的问题是如何选择和显示与主要类别相关的产品。通过关系,我得到的子类别产品如$ subcat-> Product,或主要类别的子类别如$ cat-> Subcateogry,但我不知道如何获取主要类别的产品。
为了进一步清除它: 类别(数字商品) -子类别(笔记本电脑,手机,电视) ----积(l1,l2,m1,m2,t1,t2)
在笔记本电脑子类别视图中,我们有l1和l2,但是如何在主要类别(数字商品)中显示它们。
如果您的关系设置正确,则可以使用:
$allProductInMainCategory=MainCategory::where('id',$mainCategoryId)->
with('subCategories.products')->get();
另一个选择是使用嵌套的whereHas
$allProductInMainCategory=Product::whereHas('subCategory',function($query)use($mainCategoryId){
$query->whereHas('mainCategory',function($q)use($mainCategoryId)
{
$q->where('mainCategories.id',$mainCategoryId);
});
})->get();