Я пытаюсь оптимизировать свой код, в котором я генерирую статистику за последние семь дней.Laravel & multiple count query using Eloquent
В настоящее время я использую eloquent & запросов на количество записанных данных за каждый день, что заставляет меня делать 7 отдельных запросов в цикле.
пример:
// loop for number of days
for($i = 0; $i < $days; $i++){
// some logic to set comparitive unix times
$oldest = $newest - $dayDuration;
// count number of objects between oldest time and newest time
$counts[$i] = Object::where('objecttime','>',$oldest)
->where('objecttime','<',$newest)->count();
// more logic to set comparitive unix times
$newest = $newest - $dayDuration;
}
Я знаю, что можно сгруппировать запросы в SQL, используя схожий синтаксис, как описано here; то, что я хотел бы знать, это если можно сделать то же самое, используя красноречиво/свободно в Laravel, или это возможно только с использованием необработанных запросов?
EDIT: Я не знаю, нужно ли уточнять, но это вопрос Laravel 3.
благодарит за отзыв, позвольте мне сообщить об этом и сообщить об этом. – twaambo
Я обновил ответ с помощью запроса, который я наконец использовал. Еще раз спасибо Vinícius. – twaambo
group_by() и order_by() не работают для меня. Мне пришлось использовать groupBy() и orderBy(). –