我在模型中创建了mutator日期函数,使用diffForHumans().将created_at日期转换为人类可读的时间。我做了以下工作
public function setDateAttribute($value){
return \Carbon\Carbon::parse($value)->diffForHumans();
}它工作得很好,但它会影响到所有的人。可以只在控制器的指定函数上应用此突变器,而不是将其应用于所有函数。
发布于 2018-10-08 13:10:56
突变者中的一个小逻辑就能完成这个任务:-
public function setDateAttribute($value){
if ( request()->path() === "/yourURL/To/IndexMethod"){
return $this->attributes['date'] = \Carbon\Carbon::parse($value)->diffForHumans();
} else {
return $this->attributes['date'] = $value;
}
}这样做的目的是通过网址检查。
编辑
使用路径名称的比较更好,因为精确的路径可以包含id/段塞。
public function setDateAttribute($value){
if ( \Route::currentRouteName() === "/yourRouteName/To/IndexMethod"){
return $this->attributes['date'] = \Carbon\Carbon::parse($value)->diffForHumans();
} else {
return $this->attributes['date'] = $value;
}
}https://stackoverflow.com/questions/52690428
复制相似问题