Php Laravel-API返回字符串形式的字段,而这些字段在DB中为int

Php Laravel-API返回字符串形式的字段,而这些字段在DB中为int,php,laravel,Php,Laravel,我有以下代码: $data['daily_missions'] = DailyMission::with(['userProgress' => function($q) use ($user){ $q->where('user_id',$user->id); }]) ->orderBy('diamonds') ->where('is_daily',1) ->get(

我有以下代码:

$data['daily_missions'] = DailyMission::with(['userProgress' => function($q) use ($user){
            $q->where('user_id',$user->id);
            }])
        ->orderBy('diamonds')
        ->where('is_daily',1)
        ->get();
在DB中,DailyMission/userProgress模型的大多数字段都是整数,但API将它们作为字符串返回

例如:

{
price: "123"
}
而不是:

{
price: 123
}
知道是什么导致了这个问题吗

版本:

"laravel/framework": "5.2.*",

安装并启用mysqlnd扩展可以解决这个问题。
希望有帮助。

在您的模型中,您应该在
$cast
属性中将字段定义为整数

protected$casts=[
'字段名称'=>'整数',
];

打开以下文档,您可以阅读文档以了解更多信息。

您是否尝试将它们转换为
int
?我不明白为什么我需要强制转换,如果它在DB中已经是int。可能是因为Laravel没有考虑DB列类型?Ii没有。这个问题发生在Homestead上(在Homestead 10.1.1上试用过),默认情况下启用了mysqlnd。问题仍然存在。