将Setter和getters添加到Laravel模型

时间:2016-10-31 06:16:08

标签: php laravel eloquent

如果我想要一个Eloquent Model类为了实现一个接口而拥有setter和getter,那么下面的方法是否有意义,或者是否有一个“laravel”方法解决问题

class MyClass extends Model implements someContract
{

  public function setFoo($value) {
      parent::__set('foo', $value);
      return $this;
  }

  public function getFoo() {
      return parent::__get('foo');
  }
}

1 个答案:

答案 0 :(得分:9)

您可能正在寻找accessors(吸气员)和mutators(设定者)。

Laravel中的访问者(getter)示例:

public function getFirstNameAttribute($value)
{
    return ucfirst($value);
}

Laravel中的mutator(setter)示例:

public function setFirstNameAttribute($value)
{
    $this->attributes['first_name'] = strtolower($value);
}