Laravel变异器和存取器

时间:2018-10-07 16:13:50

标签: laravel mutators

我已经在模型中创建了变体日期函数,以便使用 diffForHumans()将created_at日期转换为人类可读的时间。 我已经完成了以下

<div id="state">{this.props.winnerValue}</div>   // get value from redux store

它可以正常工作,但会影响到所有人。可以仅在控制器的指定功能上而不是所有功能上应用此增幅器

1 个答案:

答案 0 :(得分:0)

增幅器中的一个小逻辑可以完成这项工作:-

    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;
       }
    }

这个想法是通过URL进行检查。

getting request path helper

编辑

使用路由名称进行比较更好,因为确切的路径可以包含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;
       }
    }

getting route name