2017-10-04 18 views
0

が temp.blade解析配列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

あなたが使用しているチャートライブラリがわかりませんが、大部分は文字列または整数の配列が必要で、オブジェクトの配列を渡したいと思います。

私はあなただけ(またはjavescript中)PHPで、あなたの配列を変換する必要があると思い

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 =>配列:1 [▶] 2 =>配列:1 [▶] –