laravel - 三个表,表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
问题
有什么方法可以传达类别和产品。即:单击衬衫(类别)时,在页面的产品表中显示所有四件衬衫。
解决方案
您可以使用Has Many Through Relationship
它正是出于这个原因而制作的,这是一个示例,在您的Category.php
:
public function products() {
return $this->hasManyThrough(Product::class,Sub_Category::class);
}
推荐阅读
- node.js - 如何从 sequelize + node.js 中的多个模型中获取验证错误
- c# - 从 asp.net API 中的方法返回后,如何保持线程运行?
- c# - 如何避免填充所有对象属性 - 而是只填充需要的一个并保持原样 - C#
- c# - System.Configuration.ConnectionStringSettingsCollection.this[string].get 使用单元测试返回 null
- c - 关于execve参数的困惑
- javascript - javascript 简单的 assertEqual 测试运行结果
- arrays - 使用多元素数组的多元素数组填充定义的命名范围
- php - DOMXPath - 如何将元素包装在 HTML 标签中?
- lisp - 在列表中查找原子的位置
- windows - 在 Windows 中映射 Web 目录