2017-10-23 2 views
0

私は3つのテーブル、Order、Products、Order_Productsを持っています。注文と製品からすべてのフィールドを取得する必要があります。これは、hasManyThrough()を使用してOKです。しかし、私はOrder_productsからさらに1つのフィールドが必要です。どのように私はこのフィールドを得ることができますか?私はLaravel 5.5の3つのテーブルから必要な行を得る方法

のように問い合わせる必要があるSQLを使用して

public function products() 
{ 
    //in order model 
return $this->hasManyThrough('App\Models\Product','App\Models\OrderProduct','order_id','id','id','product_id'); 
} 

、*。 productsを選択order_productsorder_id,order_productscountとしてorder_count から products インナーズーンorder_productsオンorder_productsとして。 product_id = productsid WHERE order_productsorder_id = 2

+0

のカウント・フィールドは、[クエリビルダ](https://laravel.com/docs/5.5/であなたのクエリに参加しアクセスすることができ、あなたが製品を持っているとしましょうクエリ#結合)、または[関係](https://laravel.com/docs/5.5/eloquent-relationships)を使用できます。 – aynber

答えて

1

モデルのピボット属性を使用して、中間テーブルフィールドにアクセスできます。

その後、あなたはあなたが使用することができますorders_products

$product->pivot->count; 
関連する問題