エンジニアのひよこ_level10

毎日更新してた人。たまに記事書きます。

【Laravel】コレクションの値を$model->value = xxで変形させるミューテター【255日目】

参考

Eloquent:ミューテター 5.1 Laravel

書き方

class User extends Model
{
    /**
     * ユーザーのファーストネームを取得
     *
     * @param  string  $value
     * @return string
     */
    public function setFirstNameAttribute($value)
    {
        $this->attributes['first_name'] = strtolower($value);
    }
}

これで$user->first_name = 'Willow'って書くと、strtolowerがかかり、willowという小文字になって値が保存されます。

つまりその後、$user->first_nameとすると、willowって小文字になって値が取得できるようになります。

set○○Attributeという形なので、お察しの通りgetもあります。変形させてから値を取り出す。
詳しくは参考のURL先か、下の記事へ。

willow710kut.hatenablog.com