获取嵌套收集失败的Laravel Eloquent的总和

时间:2019-03-04 13:28:48

标签: laravel eloquent nested relationship

我需要嵌套关系集合的总和。当我尝试此代码时,找不到字段。

  return Offer::where("id", $offer_id)
    ->with(['rooms.products' => function($sql) use ($product_id) {
        $sql->where('product_id', $product_id);
    }]
    )->sum("value");

room.products表中存在值字段。

预先感谢

1 个答案:

答案 0 :(得分:0)

现在,sum()方法将在value表中查找offers列,而您需要products表中的值。试试这种方法:

return Product::where('product_id', $product_id)
    ->whereHas('room.offer', function($sql) use ($offer_id) {
        $sql->where("id", $offer_id)
    })->sum("value");