Laravel HasManyThrough 或 BelongsToMany 在我的情况下不起作用。是数据库结构问题吗?
P粉505450505
P粉505450505 2023-09-05 09:33:50
0
1
479
<p>我有 3 个表:</p> <pre class="brush:php;toolbar:false;">products table - id - title - etc.</pre> <pre class="brush:php;toolbar:false;">purchases table - id - code - etc.</pre> <pre class="brush:php;toolbar:false;">purchase_products table - id - purchase_id - product_id - qty - etc.</pre> <p>我的目标是检索单个产品的购买情况。以下关系对我不起作用。使用 <code>belongsToMany</code> 尝试了不同的方法,也不起作用。</p> <pre class="brush:php;toolbar:false;">$this->hasManyThrough( Purchase::class, PurchaseProduct::class, 'purchase_id', 'product_id', 'id', 'id' );</pre> <p>通过一种简单的方式,我可以通过product_id获取所有购买的产品,然后检索购买的商品,但是我需要一个关系才能使其工作,因为 Laravel nova 因为我想在资源上显示购买的商品。</p>
P粉505450505
P粉505450505

全部回复(1)
P粉970736384

产品型号

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');
    }
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板