Laravel Resource 提供对象而不是日期格式的值

gil*_*usz 6 laravel

我正在使用 laravel 资源发送我的 api

class OfferResource extends Resource
{
    /**
     * Transform the resource into an array.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return array
     */
    public function toArray($request)
    {
        return [
            'created_at' => $this->created_at,
        ];
    }
}
Run Code Online (Sandbox Code Playgroud)

这给了我(在 Laravel 5.6 上)一个对象:

created_at: {
    date: "2018-05-10 18:49:15.000000",
    timezone: "UTC",
    timezone_type: 3
}
Run Code Online (Sandbox Code Playgroud)

这是出乎意料的,因为在 laravel 5.5 上我有原始日期。但是,我尝试进行受保护的强制转换,如官方文档中所述:

protected $casts = [
    'created_at' => 'datetime:Y-m-d',  
];
Run Code Online (Sandbox Code Playgroud)

这根本行不通。

The*_*pha 10

You may try something like this:

public function toArray($request)
{
    return [
        'created_at' => $this->created_at->format('Y-m-d H:i:s')
    ];
}
Run Code Online (Sandbox Code Playgroud)