如何从Laravel 5.5中的3个表中获取所需的行

时间:2017-10-23 16:23:04

标签: php laravel

我有3个表,订单,产品,订单_产品。我需要从订单和产品中获取所有字段,这可以使用hasManyThrough()。但我还需要Order_products的另外一个字段。我怎样才能得到这个领域?

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

使用sql我需要像

这样的查询

选择     products。*,order_productsorder_idorder_productscountorder_count 从     products INNER JOIN order_products ON order_productsproduct_id = productsid 哪里     order_productsorder_id = 2

1 个答案:

答案 0 :(得分:1)

您可以使用模型上的pivot属性访问中间表字段。

假设您有产品,那么您可以访问orders_products的计数字段

$product->pivot->count;