Как отформатировать дату с помощью углеродного формата () перед преобразованием в json - PullRequest
0 голосов
/ 10 сентября 2018

У меня есть функция в контроллере приборной панели

  public function chart(){

    $result = DB::table('orders')->pluck('total_price','created_at');
    return response()->json($result);
}

это кормит этот скрипт jquery

public function chart(){

    $result = DB::table('orders')->pluck('total_price','created_at');
  // $result['created_at'] = $result['created_at']->format('M d Y');
    return response()->json($result);
}

В настоящее время отображается график, но как я могу отформатировать дату, чтобы использовать формат ('M d Y') вместо отображаемой метки времени.

Ответы [ 3 ]

0 голосов
/ 10 сентября 2018

Эту проблему можно решить, если вместо прямого доступа к базе данных использовать Laravel Eloquent .

Eloquent реализовать мутаторы , своего рода функция, которая преобразует ваши данные в нужный формат.

НО , на самом деле, вы не должны использовать его для этой цели, вместо этого вы можете использовать Eloquent API Resources , чтобы вы могли создать ресурс, который преобразует данные как ваши хочу.

Извините, если этот ответ очень концептуален, но я думаю, что использование правильных инструментов для фреймворка - верный способ решения вашей проблемы. Это магия рамок. Удачи!

0 голосов
/ 10 сентября 2018

Используйте Laravel Eloquent, а затем попробуйте использовать форматирование строки углерода:

Добавьте следующее, чтобы получить значение в вашем файле блэйда вида.

{{  $result->created_at->toFormattedDateString() }} 
0 голосов
/ 10 сентября 2018

Вы можете использовать Carbon для достижения этой цели: Carbon - это простое расширение PHP API для DateTime.

<?php
    \Carbon\Carbon::parse($result['created_at'])->format('M d Y');
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...