PHP Laravel - Eloquent 在调用方法 json 时随机返回布尔字段,有时为 0 1,其他为 true false

RRR*_*RRR 8 php json laravel eloquent

我正在使用 Laravel Eloquent 编写 REST API。当调用jsonfromresponse()返回对象时,布尔字段有时返回为 0/1,其他返回为 false/true。我想统一格式并将其全部设为 0,1 或 false,true 而不是随机

这是代码示例:

public function show($id)
{
    $obj = MyObject::findOrFail($id);
    return response()->json($obj,200);
}
Run Code Online (Sandbox Code Playgroud)

这个回报 0,1

并且此代码在创建对象时返回 true,false 不仅对于状态而且对于布尔值 $obj

return response()->json([
        'status' => (bool) $obj,
        'data'   => $obj,
        'message' => $obj ? 'new obj created!' : 'an error has occurred'
    ], 201); 
Run Code Online (Sandbox Code Playgroud)

那么,如何使它们全部为 0 和 1 或全部为 true 或 false?

小智 19

尝试为模型中的所有 boolien 字段转换属性。

protected $casts = [
    'is_published' => 'boolean',
];
Run Code Online (Sandbox Code Playgroud)