Abh*_*ole 10 php mysql laravel php-carbon laravel-5
我试图created_at在Laravel中的JSON响应中从users表返回datetime.
在我的数据库中,它显示了值,
2016-07-18 00:00:00但是当我尝试返回JSON api时,它会转换为
{
date: "2016-07-18 00:00:00.000000",
timezone_type: 3,
timezone: "UTC"
}
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题.
Mar*_*łek 13
默认情况下,created_at和updated_at是Carbon对象,所以你可以这样做:
$object->created_at->toDateTimeString();
Run Code Online (Sandbox Code Playgroud)
再次以格式 Y-m-d H:i:s
您有CarbonLaravel框架,可以帮助您使用下面的代码使您想要的日期时间.
$created_at = new Carbon($value)->toDateTimeString();
Run Code Online (Sandbox Code Playgroud)
现在通过$created_at的地方created_at.用户表的示例代码(注意:未经测试请检查自己是否需要传递对象或数组)
$user = User::find(1);
$user->created_at = new Carbon($user->created_at)->toDateTimeString();
Run Code Online (Sandbox Code Playgroud)
您可以通过serializeUsing在您的AppServiceProvider类中添加方法来更改该行为以更新日期的 json 序列化格式,它仅影响 api 调用(docs),这是一个示例:
use Illuminate\Support\Carbon;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
public function boot()
{
Carbon::serializeUsing(function ($carbon) {
return $carbon->format('Y-m-d H:i:s');
});
}
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9287 次 |
| 最近记录: |