Laravel Traer данные модели, группируемой в месяцы

Привет у меня есть следующая таблица в BD

Fruta 

id | name | precio | fecha_compra

хотело принести меня общее количество цены на все купленные фрукты, группируемое в месяцы посредством eloquent или querybuuilder

результат, который, но - следующая:

{
   "Enero" : "338$",
   "Febrero" : "555$",
    ...
    ...
    ...
   "Diciembre" : "100$"
}
1
задан 27.06.2018, 14:06
2 ответа

Решенный

$frutas= Fruta::select(
            DB::raw('sum(precio) as sums'),
            DB::raw("DATE_FORMAT(created_at,'%M %Y') as months")
        )
            ->groupBy('months')
            ->get();
2
ответ дан 20.11.2019, 07:41
  • 1
    он был гениален, который в твоем вопросе ты добавлял, что ты используешь поле created_at –   27.06.2018, 15:16
  • 2
    fecha_compra - created_at извинение –  kevin au tam 27.06.2018, 15:30

Я предлагаю тебе следующую soluciГіn с Флуент эль Керибуильдер Laravel

$data = Fruta::
        select(DB::raw("name, mes, SUM(precio) as count"))
        ->groupBy("mes")
        ->orderBy('mes', 'DESC')
        ->get();
    return $data;

Cabe выделять, что, как мы будем использовать Fluent, в верхней части ты должен импортировать namespace DB Facade; следующим способом

use DB;
0
ответ дан 20.11.2019, 07:41
  • 1
    он дает мне следующую ошибку Call to в member function groupBy () on float –  kevin au tam 27.06.2018, 14:40
  • 2
    с которым 2 выборов @kevinautam –   27.06.2018, 14:42
  • 3
    с eloquent... –  kevin au tam 27.06.2018, 14:52
  • 4
    первая, если он подает тебя, или также? @kevinautam –   27.06.2018, 14:53
  • 5
    первая дает мне reusltados редкие, не группирует в месяцы, в самом деле приносит мне те же реестры –  kevin au tam 27.06.2018, 14:55

Теги

Похожие вопросы