2016-12-07 4 views
2

Я пытаюсь отобразить имя месяца из запроса, но его не печатать.Получить месяц имя из запроса в laravel 5

Ниже мой запрос:

$stats = DB::table('leadsheet') 
      ->whereYear('created_at', '>=', $days) 
      ->groupBy('month') 
      ->orderBy('month', 'ASC') 
      ->get([ 
       DB::raw('MONTH(created_at) as month'), 
       DB::raw('COUNT(*) as value') 
      ]); 

И мои данные JSON приходит, как показано ниже:

[{"month":1,"value":380},{"month":2,"value":2146},{"month":3,"value":2008},{"month":4,"value":1399},{"month":5,"value":1719},{"month":6,"value":4497},{"month":7,"value":911},{"month":8,"value":495},{"month":9,"value":691},{"month":10,"value":370},{"month":11,"value":479}] 

В результате, я просто хочу, чтобы отобразить вместо цифры 1, как Ян, 2 в феврале и т. д .. но я пытался дать формат за месяц, чтобы этого не происходило.

нужный вход вроде как:

{"month":Jan,"value":380}... 

Может кто-нибудь помочь мне?

ответ

2

Вы можете использовать CASE EXPRESSION:

CASE MONTH(created_at) WHEN 1 THEN 'JAN' 
         WHEN 2 THEN 'FEB' 
         ... 
END as `month` 

Или, вы можете использовать MONTHNAME().

+0

Спасибо, что это сработало, как шарм .. :-) – 06011991

Смежные вопросы