我不知道这是怎么发生的。因为在我的localhost
中,它正常工作,但在我的共享托管之后,我注意到了它。我要转换为int的原因是因为highcharts。 https://www.highcharts.com/errors/14
码
public function assistance()
{
$programs = DB::table('assistances')->selectRaw('services.name, count(*) as y')
->join('services', 'assistances.service_id', '=', 'services.id')
->groupBy('service_id')->get();
return $programs;
}
JSON输出是:
[
{
name: "BMAP",
y: "1"
}
]
它应该是y: 1
没有引用。
缺少什么?这是服务器问题吗?
答案 0 :(得分:2)
我使用@ Deep3015评论中的JSON_NUMERIC_CHECK参考找到了答案。
解决方案:json_encode()和json_decode();
public function assistance()
{
$programs = DB::table('assistances')
->join('services', 'assistances.service_id', '=', 'services.id')
->selectRaw('services.name, count(*) as y')
->groupBy('assistances.service_id')->get();
return Response::json(json_decode(json_encode($programs, JSON_NUMERIC_CHECK)));
}
答案 1 :(得分:0)
我使用MySql并成功转换查询中的结果。它比json_decode和json_encode解决方案稍微不那么臭。
->selectRaw('services.name, CAST(count(*) AS UNSIGNED) as y')