Получить сумму вложенной коллекции не удалось Laravel Eloquent - PullRequest
0 голосов
/ 04 марта 2019

Мне нужна сумма вложенных отношений.Когда я пытаюсь этот код, поле не может быть найдено.

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

Поле значений существует в таблице rooms.products.

Заранее спасибо

1 Ответ

0 голосов
/ 04 марта 2019

Прямо сейчас метод 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");
...