Как я могу получить уникального пользователя из заказа в определенный день

Мне нужна диаграмма количества покупок пользователей на моем сайте. Как я могу достичь этого?

$ordersArr = Order::where('vendor_id',$id)
        ->whereBetween('created_at',[$carbonStart,$carbonEnd])
        ->get();

Моя таблица выглядит следующим образом заказ

id user_id venodr_id  created_at
==================================
 1     1           1      2019-03-30 07:15:03
 2     1           2      2019-03-30 07:20:03
 3     1           1      2019-03-29 07:20:03
 4     1           2      2019-03-29 07:20:03
 5     2           1      2019-03-30 07:15:03
 6     2           2      2019-03-30 07:20:03
 7     2           1      2019-03-29 07:20:03
 8     2           2      2019-03-29 07:20:03
 9     2           2      2019-03-29 07:20:03

Результат, который я хочу, это

user_id  count  date
  1        2    2019-03-30
  1        2    2019-03-29 
  2        2    2019-03-30
  2        3    2019-03-29

Вам нужно сгруппировать по date и user_id и сделать COUNT() для дополнительного столбца.

thefallen 03.04.2019 10:38

Можете ли вы объяснить, как?

Hiren Pipariya 03.04.2019 11:37
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
2
40
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
$data = DB::table('order')
        ->select(DB::raw('user_id,count(*) as vendor_id,created_at as date'))
        ->whereBetween('created_at',[$carbonStart,$carbonEnd])
        ->groupBy('user_id')->get(); 

Могу ли я получить его по красноречивому модельному запросу??

Hiren Pipariya 03.04.2019 11:36

Заменить DB::table('order') на Order::select ?

Lim Kean Phang 03.04.2019 11:42

Обычно я использую красноречивый запрос в модели и БД в контроллере. Мне так проще кажется.

Lim Kean Phang 03.04.2019 11:43

Другие вопросы по теме