2017-07-02 30 views
0

私はそうlaravelに私の「スラッグ」の値を設定します。laravel 5の2つのソースから属性を設定しますか?

public function setTitleAttribute($value) 
    { 
     $this->attributes['title'] = $value; 
     $this->attributes['slug'] = str_slug($value); 
    } 

このメソッドは動作しますが、現時点では多くの要素が同じ名前と同じ生成されたスラグを持っているので、私は強打する追加コンテンツを追加したい、どのようにそれはできますか?私はあなたが$valueについて何かをしない場合$this->attributes['title'] = $value;は不要で、あなたの最初のミューテータでは、私はそれ以上のソースからのスラグを生成したい

public function setTitlePackAttribute($value, $key) 
{ 
    $this->attributes['title'] = $value; 
    $this->attributes['pack'] = $key; 
    $this->attributes['slug'] = str_slug($value . $key); 
} 

ような何か...

答えて

0

を行うことができます。

あなたはあなたがちょうどこのような何かを行うことができます$this->titleを経由して、モデルの現在の属性にアクセスすることができます:

public function setSlugAttribute($value) 
{ 
    $this->attributes['slug'] = str_slug($this->title . $this->pack) 
} 
関連する問題