У меня есть следующие отношения: У элементов много записей (Recordss.item_id ссылается на Items.id) .
У меня нормально работает этот запрос:
$items = Item::addSelect(['quantity_sum' => Record::selectRaw('sum(quantity) as total')
->whereColumn('item_id', 'items.id')
->groupBy('item_id')
])
->get();
Но мне нужно получить только элементы, у которых сумма records.quantity меньше единицы. Я пытался добавить -> где ('amount_sum', '1') , но получаю следующее сообщение об ошибке:
SQLSTATE [42S22]: столбец не найден: 1054 Неизвестный столбец «amount_sum» в «where clause» (SQL: выберите items
. *, (Выберите сумму (количество) как общее от records
где item_id
= items
. id
сгруппировать по item_id
) как quantity_sum
из items
, где quantity_sum
= 1)
Почему я не могу использовать псевдоним количества_
Как отфильтровать только элементы, сумма которых в столбце Records.quantity меньше 1?