получить количество строк в соответствии с месяцем в дате в Laravel - PullRequest
0 голосов
/ 24 ноября 2018

Я хочу, чтобы запрос в laravel группировался по данным с месяцем dateofSale с количеством строк с тем же месяцем.

вот моя таблица enter image description here

и я хочу вывести что-то вроде этого

numberOfSales | Month
     2           Nov
     1           Oct

как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 24 ноября 2018

Вы должны быть в состоянии достичь того, что вам нужно:

$data = \App\SaleData::selectRaw('COUNT(*) as count, YEAR(dateOfSale) year, MONTH(dateofSale) month')
    ->groupBy('year', 'month')
    ->get();

Если вы не включите год, то вы будете иметь продажи разных лет, включенные в тот же месяцнапример, продажи с октября 2017 года и октября 2018 года будут включены вместе.

0 голосов
/ 24 ноября 2018

вы можете попробовать как

$data = SalesData::select(DB::raw('count('*') as `count`'), DB::raw('MONTH(dateOfSale) month'))
         ->groupBy(function($m) {
             return Carbon::parse($m->dateOfSale)->format('m');
         })->get();

не забудьте импортировать углерод и БД поверх вашего контроллера, например

use DB;
use Carbon\Carbon;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...