我需要将一个变量从控制器传递给视图,在脚本中使用它并配置Highstock图。我有日期转换和数组使用的问题。不幸的是,数据未包含在图表中。 我在视图中正确地接收了数据,但我认为我们需要通过json_encode或其他来“格式化”它。 你能告诉我为什么以及如何解决这个问题?
statistiche.blade.php
@section('content')
<div id="container" style="height: 400px; min-width: 310px"></div>
@stop
@section('css')@stop@section('js')
<script>
var data = [@php echo $data @endphp];
// Create the chart
Highcharts.stockChart('container', {
rangeSelector: {
selected: 1
},
title: {
text: 'Richieste ricevute'
},
series: [{
name: 'Richieste ricevute',
data: data,
tooltip: {
valueDecimals: 2
}
}]
});
</script>
@stop
statisticheController.php
public function index(){
/* calcolo il totale delle richieste ricevute */
$richieste = Richiesta::groupBy(DB::raw('DATE_FORMAT(created_at, "%Y-%m-%d")'))
->select(DB::raw('DATE_FORMAT(created_at, "%Y-%m-%d") as data'), DB::raw('count(*) as richieste_totali'))
->get();
foreach($richieste as $richiesta) {
$data[] = [$richiesta->data, $richiesta->richieste_totali];
}
return view('layouts.statistiche', compact( 'data'));
}
答案 0 :(得分:2)
而不是
var data = [@php echo $data @endphp]
你可以拥有
var data = @json($data);
此外,您还可以回复@php echo $stuff; @endphp
{{$stuff}}