php - PHP Laravel - Eloquent 在调用方法 json 时随机返回布尔字段,有时为 0 1,其他为 true false
问题描述
我正在使用 Laravel Eloquent 编写一个 REST API。当调用json
fromresponse()
以返回对象时,布尔字段有时返回为 0/1,有时返回为 false/true。我想统一格式并将其全部设为 0,1 或 false,true 而不是随机的
这是代码示例:
public function show($id)
{
$obj = MyObject::findOrFail($id);
return response()->json($obj,200);
}
这返回 0,1
并且此代码在创建对象时返回true,不仅对于状态,而且对于布尔值中的布尔值$obj
return response()->json([
'status' => (bool) $obj,
'data' => $obj,
'message' => $obj ? 'new obj created!' : 'an error has occurred'
], 201);
那么,如何使它们全部为 0 和 1 或全部为真或假?
解决方案
尝试为模型中的所有布尔字段强制转换属性。
protected $casts = [
'is_published' => 'boolean',
];
推荐阅读
- linux - 检查输入的数字是否在 0 到 9 之间
- visual-studio-code - 使用 MPC 编译嵌套 Idl 时出现 OpenDDS 链接错误
- python - Python使用字典替换字符串中的变量
- json - 无法在 ROBLOX Lua 中解析 JSON
- xdp-bpf - XDP - 每个目标 IP/PORT 都有 AF_XDP 套接字?
- javascript - 如何启动成帧器运动?
- r - 如何在 r 中使用 mgsub 更改与 greple 命令匹配的所有单元格的单元格内容?
- c# - 错误映射类型...映射配置...目标成员
- google-apps-script - 如何使用 onEdit 功能观看多个标签
- javascript - 带有香草js的数组中匹配条目的grt数