【发布时间】:2013-10-09 20:51:08
【问题描述】:
我有一个想要以 json 格式返回的模型。我也想返回时间戳。问题是时间戳以以下格式保存 2013-10-02 09:45:22 但我希望它采用不同的格式。我仍然想要数据库中的原始格式,但是当它作为 JSON 输出时,我想要 2013.10.02。我发现您可以覆盖 getDateFormat() 但它似乎确实将数据库中使用的格式更改为。
我总是可以在数据返回之前循环遍历数据,但这种代码似乎属于模型。
已更新答案:
Add a custom attribute to a Laravel / Eloquent model on load? 解释了这是如何工作的。
class User extends Eloquent {
protected $appends = array('my_date');
public function getMyDateAttribute()
{
return date('Y.m.d',strtotime($this->attributes['created_at']));
}
}
关键部分是受保护的变量 $appends,它确保在使用 toArray 或 Json 转换对象时包含访问器。
【问题讨论】:
标签: php json laravel laravel-4