我有 3 个表:
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获取所有购买的产品,然后检索购买的商品,但是我需要一个关系才能使其工作,因为 Laravel nova 因为我想在资源上显示购买的商品。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
产品型号
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'); } }