我想在Eloquent上构建类似中间件的东西。 当我对模型“事件”进行请求时,我需要始终解析日期值。
这是我所拥有的:
事件模型:
class Event extends Model {
protected $fillable = [
'type',
'topic',
'teacher',
'date',
'endDate'
];
}
请求数据的功能:
$event = Event::find(Todo::max('event_id'));
$date = Carbon::parse($event->date);
$date->format('Y-m-d\TH:i:s.u\Z');
$event->date = $date;
重点是,我将在所有请求中都需要最后三行。 我可以在哪里放置它们,因此不必在每次请求后都复制它们。
答案 0 :(得分:1)
您可以使用Laravel的变异子:
protected $casts = [
'date' => 'datetime:Y-m-d\TH:i:s.u\Z',
];
更多信息在这里:
答案 1 :(得分:0)
在事件模型中创建一个方法,如下所示:
public function getDateAttribute()
{
$date = Carbon::parse($this->date);
return $date->format('Y-m-d\TH:i:s.u\Z');
}
现在,每当调用$ event-> date时,您都会获得修改的日期。