Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel-selectRaw(计数(*)是否作为字符串而不是整数返回?_Php_Mysql_Laravel_Highcharts - Fatal编程技术网

Php Laravel-selectRaw(计数(*)是否作为字符串而不是整数返回?

Php Laravel-selectRaw(计数(*)是否作为字符串而不是整数返回?,php,mysql,laravel,highcharts,Php,Mysql,Laravel,Highcharts,我不知道这是怎么发生的。因为在我的localhost中,它工作正常,但在我的共享主机中之后,我注意到了它。我将转换为int的原因是因为highcharts 代码: public function assistance() { $programs = DB::table('assistances')->selectRaw('services.name, count(*) as y') ->join('services', 'assistances

我不知道这是怎么发生的。因为在我的
localhost
中,它工作正常,但在我的共享主机中之后,我注意到了它。我将转换为int的原因是因为highcharts

代码:

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\u NUMERIC\u CHECK引用的答案

解决方案:json_encode()和json_decode()


我从@Deep3015的注释中找到了一个使用JSON\u NUMERIC\u CHECK引用的答案

解决方案:json_encode()和json_decode()


我正在使用MySql并成功地转换了查询中的结果。与json_解码和json_编码解决方案相比,它的气味稍微少一些

    ->selectRaw('services.name, CAST(count(*) AS UNSIGNED) as y')

我正在使用MySql并成功地转换了查询中的结果。与json_解码和json_编码解决方案相比,它的气味稍微少一些

    ->selectRaw('services.name, CAST(count(*) AS UNSIGNED) as y')

你的问题正确吗?选择后加入不会引起任何问题?@SagarGautam我猜是这样,因为在我的本地,它是100%工作的。这是localhost
[{“name”:“BMAP”,“y”:153},{“name”:“HOPE Scholar”,“y”:126},{“name”:“Logistics”,“y”:150},{“name”:“Youth”,“y”:126},{“name”:“Others”,“y”:125}]
在选择raw it may work之前放置您的join子句检查这将在后端将字符串转换为数字本身这是某些PHP版本中的已知错误。PHP5.3.3甚至添加了一个标志
JSON\u NUMERIC\u CHECK
。生产和本地的PHP版本是什么?您的查询正确吗?选择后加入不会引起任何问题?@SagarGautam我猜是这样,因为在我的本地,它是100%工作的。这是localhost
[{“name”:“BMAP”,“y”:153},{“name”:“HOPE Scholar”,“y”:126},{“name”:“Logistics”,“y”:150},{“name”:“Youth”,“y”:126},{“name”:“Others”,“y”:125}]
在选择raw it may work之前放置您的join子句检查这将在后端将字符串转换为数字本身这是某些PHP版本中的已知错误。PHP5.3.3甚至添加了一个标志
JSON\u NUMERIC\u CHECK
。生产版和本地版的PHP版本是什么?
toJson()
是否可用于
$programs
?请参阅
toJson()
是否可用于
$programs
?看见