首页 > 解决方案 > 如何强制 Laravel 返回正确的 JSON 数据类型?

问题描述

在我的 Laravel 项目中,模型的整数类型在最终 JSON 响应中以字符串形式返回,如下所示:

{
    "id": 2,
    "lang_id": "4",
    "name": "lipsum",
    "css_id": "amet",
    "css_class": "orem ipsum",
    "open_on_smalldevice": "1"
}

在数据库中lang_idisbigintopen_on_smalldeviceistinyint(1)类型。

控制器函数如下所示:

public function list(Request $request)
{
    return MyModel::whereIsPublic(true)->get();
}

我断言这个回应:

{
    "id": 2,
    "lang_id": 4,
    "name": "lipsum",
    "css_id": "amet",
    "css_class": "lorem ipsum",
    "open_on_smalldevice": true
}

如果布尔值以整数(0 或 1)返回,JavaScript 处理正确,这不是一个大问题,但该lang_id字段应该是整数,而不是字符串。

如何强制 Laravel 在响应中使用正确的数据类型或我错过了什么?

标签: laraveltypeslaravel-8

解决方案


推荐阅读