【发布时间】:2021-03-09 18:10:40
【问题描述】:
我试图用数据透视表中的关系来解决这个问题。我有 3 个表(产品、集合、集合产品)
产品表 ID 姓名 size_id
集合表 ID 名字
collection_product 表 id(我知道......我必须使用附加和分离)但稍后我会弄清楚如何解决它) collection_id product_id
模型
产品型号
public function collections()
{
return $this->belongsToMany(Collection::class);
}
集合模型
public function products()
{
return $this->belongsToMany(Product::class, 'collection_product');
}
ProductCollection 数据透视表
class ProductCollection extends Pivot
{
protected $table = 'collection_product';
public function collections()
{
return $this->hasMany(Collection::class, 'collection_id');
}
public function products()
{
return $this->hasMany(Product::class, 'product_id');
}
}
在我的 CollectionController 中,我想搜索一个集合,对于集合中显示的所有产品,我只想在刀片视图中显示尺寸为“SMALL”(size_id)的产品,但我不知道如何在我的控制器,因为首先我需要修复关系,然后弄清楚如何声明一个条件来获取我的 products 表的 size_id。
【问题讨论】:
-
旁注:
ProductCollection上的关系collections和products将是belongsTo而不是hasMany
标签: laravel relationship