Php 从服务器获取时,Laravel将Int转换为字符串时出现问题?
我的web应用程序在服务器上运行。我在本地测试了代码,效果很好。我从本地服务器获取id为int,但在托管服务器中获取字符串 使用PHP7.3Php 从服务器获取时,Laravel将Int转换为字符串时出现问题?,php,mysql,laravel,laravel-5,eloquent,Php,Mysql,Laravel,Laravel 5,Eloquent,我的web应用程序在服务器上运行。我在本地测试了代码,效果很好。我从本地服务器获取id为int,但在托管服务器中获取字符串 使用PHP7.3 $data = DB::table('users') ->select('id') ->get(); $data = $data->pluck(id); (本地) 输出=>[1,2,3] (主持) 输出=>[“1”、“2”、“3”] 有人能帮助解决这个问题吗?我可以做循环到类型转换,但在我的控制器中有100的函数。无法在每个查询中键入
$data = DB::table('users')
->select('id')
->get();
$data = $data->pluck(id);
(本地)
输出=>[1,2,3]
(主持)
输出=>[“1”、“2”、“3”]
有人能帮助解决这个问题吗?我可以做循环到类型转换,但在我的控制器中有100的函数。无法在每个查询中键入cast。这是由于生产服务器(托管服务器)上缺少插件造成的。 您需要安装
mysqlnd
插件来修复此问题
您没有提到您正在使用的操作系统。如果是Linux,您可以检查mysqlnd
是否像这样安装
$ sudo dpkg -l | grep 'mysqlnd'
如果没有安装,您需要像这样安装它(假设您有php5)
包名称可能因PHP版本而异
有关更多信息,请参阅my。您可以在模型中使用铸造
protected $casts = [
'field_name1' => 'integer',
];
可能会有所帮助
protected $casts = [
'field_name1' => 'integer',
];