我不知道这是怎么回事。因为在我的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没有报价。
少了什么?这是服务器问题吗?

最佳答案

我从@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)));
    }

关于php - Laravel-selectRaw(count(*))以字符串而不是整数形式返回?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48919818/

10-15 10:51