首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel变送器和辅助器

Laravel变送器和辅助器
EN

Stack Overflow用户
提问于 2018-10-07 16:13:50
回答 1查看 238关注 0票数 1

我在模型中创建了mutator日期函数,使用diffForHumans().将created_at日期转换为人类可读的时间。我做了以下工作

代码语言:javascript
复制
public function setDateAttribute($value){
    return \Carbon\Carbon::parse($value)->diffForHumans();
}

它工作得很好,但它会影响到所有的人。可以只在控制器的指定函数上应用此突变器,而不是将其应用于所有函数。

EN

回答 1

Stack Overflow用户

发布于 2018-10-08 13:10:56

突变者中的一个小逻辑就能完成这个任务:-

代码语言:javascript
复制
    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/段塞。

代码语言:javascript
复制
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;
       }
    }

获取路径名称

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52690428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档