laravel - 语法错误,laravel 中出现意外的“foreach”(T_FOREACH)
问题描述
我正在尝试将数据从 db 获取到条形图中,但它给出了上述错误,
控制器代码:
public function chart($id)
{
$data = File::findOrFail($id);
$result = \DB::table('importpdfs')
->where('Battery','=','Verbal')
->orderBy('SAS', 'ASC')
->get();
@foreach ($pdfdata => $data)
{{ $data->SAS }}
@endforeach
return response()->json($result);
}
刀片文件:
<div class="container">
<canvas id="myChart"></canvas>
</div>
@push('scripts')
<script
src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.6.0/Chart.min.js"></script>
@endpush
<script>
var url = "{{url('importpdfs')}}";
var Bat = new Array();
var Sas = new Array();
//$(document).ready(function(){
//$.get(url, function(response){
//response.forEach(function(data){
//Bat.push(data.Battery);
//Sas.push(data.SAS);
//});
let myChart = document.getElementById('myChart').getContext('2d');
// Global Options
Chart.defaults.global.defaultFontFamily = 'Lato';
Chart.defaults.global.defaultFontSize = 18;
Chart.defaults.global.defaultFontColor = '#777';
let massPopChart = new Chart(myChart, {
type:'bar', // bar, horizontalBar, pie, line, doughnut, radar,
polarArea
data:{
labels:['Verbal', 'Quantitative', 'Non-Verbal', 'Spatial'],
datasets:[{
label:'SAS',
data:[
120,
112,
121,
111,
110,
],
//backgroundColor:'green',
backgroundColor:[
'rgba(54, 162, 235, 0.6)',
'rgba(54, 162, 235, 0.6)',
'rgba(54, 162, 235, 0.6)',
'rgba(54, 162, 235, 0.6)',
'rgba(54, 162, 235, 0.6)',
'rgba(54, 162, 235, 0.6)',
'rgba(54, 162, 235, 0.6)',
],
borderWidth:1,
borderColor:'#777',
hoverBorderWidth:1,
hoverBorderColor:'#000'
}]
},
options:{
title:{
display:true,
text:'Bar Chart',
fontSize:25
},
legend:{
display:true,
position:'right',
labels:{
fontColor:'#000'
}
},
layout:{
padding:{
left:10,
right:0,
bottom:0,
top:0
}
},
tooltips:{
enabled:true
}
}
});
</script>
如何解决?
解决方案
您为什么要尝试将刀片 PHP 放入控制器中?这应该是严格的标准 PHP。
让前端处理数据(虽然实现起来比较麻烦,但这意味着服务器在处理操作时的负载减少了)。
我建议您删除控制器中的 foreach 并传$result
回前端并在那里处理 foreach。
推荐阅读
- python - Django 对象过滤器
- rstudio - 无法从 RStudio 用西班牙语编织 PDF 文件(在 Centos 7 上)
- django - Django - 序列化程序返回更新数据但不修改数据库
- selenium - 如何使用 selenium 在 Java 中的 firefox 驱动程序中添加扩展
- google-sheets - vlookup(importrange) 函数在另一个电子表格的查询结果表中找不到数据
- azure - 在部署 arm 模板之前检查 Azure VM 名称是否存在
- java - 使用正则表达式从文件中读取文本
- python-3.x - 如何在 Gekko 中实现缺失数据的动态参数估计?
- flutter - url 启动器插件不起作用的原因可能是什么?
- javascript - 即使表中有数据,制表器 table.getRow() 也会返回 false