У меня есть запрос, который включает в себя некоторые необработанные части и похож на следующий:
$bills = Bill::leftJoin('important_dates', 'important_dates.id', '=', 'bills.important_date_id')
->selectRaw("IF(bills.credit_card_id IS NULL AND important_dates.sent_at IS NOT NULL, important_dates.sent_at, bills.date) AS 'constructed_date'")
->havingRaw('constructed_date BETWEEN \''.$data_model['date_from'].'\' AND \''.$data_model['date_to'].'\'');
Если я использую $bills->get()
, он работает отлично, возвращая то, что должен. Но если я использую $bills->count()
, выдается сообщение об ошибке Unknown column 'constructed_date' in 'having clause'
. Означает ли это, что у меня не должно быть предложения having
при использовании функции ->count()
?
Запрос SQL выглядит следующим образом:
select IF(bills.credit_card_id IS NULL AND important_dates.sent_at IS NOT NULL, important_dates.sent_at, bills.date) AS 'constructed_date'
from bills
left join important_dates on important_dates.id = bills.recipient_batch_id
having constructed_date BETWEEN '2018-02-01' AND '2020-02-29'
order by constructed_date asc