首页 > 解决方案 > 三个表,表A和表B是一对多关系,表B和表C是一对多关系,那么如何关联表A和表C

问题描述

代码

分类.php

public function sub_category()
{
    return $this->hasMany(Sub_Category::class);
}

id name
1  shirts
2  pants

Sub_Category.php

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

public function product()
{
    return $this->hasMany(Product::class);
}

id cat_id name
1  1      formal shirts
2  1      casual shirts

产品.php

public function sub_category()
{
    return $this->belongsTo(Sub_Category::class);
}

id sub_cat_id name
1  1          Raymonds Formal Shirt
2  2          Raymonds Casual Shirt
5  1          Levis Formal Shirt
10 2          VanHuesen Casual Shirt

问题

有什么方法可以传达类别和产品。即:单击衬衫(类别)时,在页面的产品表中显示所有四件衬衫。

标签: laraveleloquent

解决方案


您可以使用Has Many Through Relationship 它正是出于这个原因而制作的,这是一个示例,在您的Category.php

public function products() {
    return $this->hasManyThrough(Product::class,Sub_Category::class);
}

推荐阅读