如何在laravel中获取父类别id下的所有子类别产品

发布于 2025-01-09 05:36:04 字数 867 浏览 2 评论 0原文

在类别表中

类别

id类别名称parentId
1男装NULL
2T 恤1
3裤子1
4鞋子1

另一张表是

产品

id产品名称 产品类别 ID
1A2
2B3
3C4

我的菜单列表是

  • 男士时尚
    • 一个
    • B
    • C

当我点击“A”时,我可以显示所有“A”类别产品。这我已经解决了。 但我无法显示“男士时尚”下的所有产品。 (在“男士时尚”中,这里显示“A”、“B”和“C”子类别产品。)我该如何解决这个问题?

In categories table

categories

idcategoryNameparentId
1Men's FashionNULL
2T-Shirt1
3Pants1
4Shoes1

And another table is

products

idproductNameproductCategoryId
1A2
2B3
3C4

And My Menu List is

  • Men's Fashion
    • A
    • B
    • C

When i click "A" then i can show all "A" category product. That can i already solved.
But i can't show all products under "Men's Fashion". (In "Men's Fashion" here show "A", "B", and "C" subcategory product.) How can i solve this ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夜唯美灬不弃 2025-01-16 05:36:04

在产品模型中,您需要在产品和类别之间建立这样的关系

public function category(){
    return $this->belongsTo(Category::class);
}

,以便获取类别 1 的产品,查询将类似于

$products = Product::whereHas('category', function ($q) {
         $q->where('parentId', 1)
})->get();

In product model you need to have a relation between product and category like this

public function category(){
    return $this->belongsTo(Category::class);
}

so to get products for category 1 the query will be like

$products = Product::whereHas('category', function ($q) {
         $q->where('parentId', 1)
})->get();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文