2017-10-04 73 views
0

我需要的月報顯示溫度圖表中laravel 我的視圖頁面包括 temp.blade解析陣列中的圖表JS laravel刀片

<script> 
    console.log({!! $temp !!}); 
    console.log({!! $dateTemp !!}); 
    window.onload = function() { 
    var ctx = document.getElementById("myChart"); 
    var myChart = new Chart(ctx, { 
     type: 'line', 
     data: { 
      labels: {!! $temp !!}, 
      datasets: [{ 
       label: 'Temperature', 
       data: {!! $dateTemp !!}, 
       borderWidth: 1 
      }] 
     } 
    }); 
    } 
</script> 

和控制器

public function tempChart() 
{ 
    $temp = Temps::select(DB::raw('temp')) 
     ->orderBy('date_temp','asc') 
     ->get(); 
    $temp->implode(',',$temp); 
    $dateTemp = Temps::select(DB::raw('temps')) 
     ->select('date_temp') 
     ->orderBy('date_temp','asc') 
     ->get(); 
    $dateTemp->implode(',',$dateTemp); 
    //dd($temp,$dateTemp); 
    return view('report/temp') 
     ->with('temp',$temp) 
     ->with('dateTemp',$dateTemp); 
} 

它不能顯示數據陣列但它顯示

[{...}],[{...}],[{...}]

回答

0

我不知道你正在使用的圖表庫,但他們大多希望字符串或整數數組,你給他們的對象數組。

我認爲你只需要你的數組轉換在PHP(或javescript)

PHP方式:

$temp = Temps::select('temp'`) 
    ->orderBy('date_temp','asc') 
    ->get() 
    ->pluck('temp'); 


$dateTemp = Temps::select(['temps', 'data-temp']) 
    ->orderBy('date_temp','asc') 
    ->get() 
    ->pluck('data-temp'); // I am not whats the acual query you want but this is the idea 

,然後如果你使用laravel 5.5只寫上您的刀片

<script> 
window.onload = function() { 

    var ctx = document.getElementById("myChart"); 
    var myChart = new Chart(ctx, { 
     type: 'line', 
     data: { 
      labels: @json($temp), 
      datasets: [{ 
       label: 'Temperature', 
       data: @json($dateTemp) , 
       borderWidth: 1 
      }] 
     } 
    }); 

} 
</script> 
+0

這是答案,謝謝。但不使用@json –

0

嘗試給數據添加高逗號?

 datasets: [{ 
      label: 'Temperature', 
      data: '{!! $dateTemp !!}', 
      borderWidth: 1 
     }] 
+0

不,錯誤未捕獲TypeError:Object.defineProperty在非對象上調用 –

+0

什麼顯示// dd($ temp,$ dateTemp);? –

+0

數組:3 [▼ 0 =>數組:1 [▶] 1 =>數組:1 [▶] 2 =>數組:1 [▶] ] 數組:3 [▼ 0 =>數組: 1 [▶] 1 => array:1 [▶] 2 => array:1 [▶] ] –