Ежемесячный счетчик записей в laravel и распечатка в javascript - PullRequest
0 голосов
/ 18 октября 2018

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

$monthly_assessment = DB::table('praapplication')
         ->select(DB::raw('count(id) as total'), DB::raw('MONTH(created_at) as month'))
         ->where('stage', 'W1')
         ->groupBy('month')
         ->get();

вывод, как это я получаю:

total:2, month:10 ; total:3, month:11

вывод кода должен быть такимпредставить в Javascript

data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0]

как разобрать в Javascript

name: 'Submission',
data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0]

Ответы [ 2 ]

0 голосов
/ 18 октября 2018

Что я обычно делаю ...

$list = [];
// loop all 12 month
foreach(range(1, 12) as $month) {
   $flag = false; // init flag if no month found in montly assessment
   foreach($monthly_assessment as $data) {
      if ($data->month == $month) { // if found add to the list
          $list [] = $data->count;
          $flag = true;
          break; // break the loop once it found match result
      }
   }

   if(!$flag) {
      $list [] = 0; // if not found, store as 0
   }
}
return $data = [
    'name' : 'Submission',
    'data' : $list
];

Вывод:

{
    name: 'Submission',
    data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0]
}
0 голосов
/ 18 октября 2018

Верните ваши данные вот так.

$monthly_assessment = DB::table('praapplication')
         ->select(DB::raw('count(id) as total'), DB::raw('MONTH(created_at) as month'))
         ->where('stage', 'W1')
         ->groupBy('month')
         ->get();

return response()->json($monthly_assessment , 200, array(), JSON_PRETTY_PRINT);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...