Laravel HasManyThrough or BelongsToMany在我的情况下不起作用。是数据库结构问题吗?



我有三个表:

products table
- id
- title
- etc.
purchases table
- id
- code
- etc.
purchase_products table
- id
- purchase_id
- product_id
- qty
- etc. 

我的目标是检索单个产品的购买记录。下面的关系不适合我。尝试了不同的belongsToMany方法,也不工作。

$this->hasManyThrough(
Purchase::class,
PurchaseProduct::class,
'purchase_id',
'product_id',
'id',
'id'
);

以一种简单的方式,我可以通过product_id获取所有购买产品,然后检索购买,但是我需要一个关系来工作,因为我想在资源上显示购买。

产品型号

class Product {
public function purchases()
{
return $this->belongsToMany(Purchase::class, 'purchase_products', 'product_id', 'purchase_id');
}
}

购买模型
class Purchase {
public function products()
{
return $this->belongsToMany(Product::class, 'purchase_products', 'purchase_id', 'product_id');
}
}

相关内容

  • 没有找到相关文章

最新更新