Yah*_*din 1 laravel eloquent laravel-5 laravel-5.1 laravel-5.3
目前,当我将模型转换为 JSON 时,所有 Carbon 日期字段都会像这样进行转换:
"end_time": {
"date": "2017-02-03 23:59:00.000000",
"timezone_type": 3,
"timezone": "Europe/London"
}
Run Code Online (Sandbox Code Playgroud)
我希望它使用Atom符号来投射。这可以在碳中完成,如下所示:
$order->end_time->toAtomString()
Run Code Online (Sandbox Code Playgroud)
哪里$date是Carbon日期。
如何使模型在将日期转换为 JSON 时将其转换为原子格式?
我知道可以像这样附加数据:https://laravel.com/docs/5.3/eloquent-serialization#appending-values-to-json
但这不会改变现有值的格式吗?
考虑到复活僵尸的风险,我将提出一个替代解决方案来解决这个问题:
覆盖serializeDate由特征定义的方法HasAttributes:
/**
* Prepare a date for array / JSON serialization.
*
* @param \DateTimeInterface $date
* @return string
*/
protected function serializeDate(DateTimeInterface $date)
{
return $date->toAtomString();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5783 次 |
| 最近记录: |