首頁  >  問答  >  主體

Laravel HasManyThrough 或 BelongsToMany 在我的情況下不起作用。是資料庫結構問題嗎?

<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粉505450505P粉505450505433 天前460

全部回覆(1)我來回復

  • P粉970736384

    P粉9707363842023-09-06 00:59:30

    產品型號

    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');
        }
    }

    回覆
    0
  • 取消回覆