読者です 読者をやめる 読者になる 読者になる

Laravelのミューテーターでちょっと便利な使い方

laravelで出力時に値を変えてくれるミューテーター。 便利だけど設定すると常に変換しちゃうのでformとかで使ってるとちょっと不便。 特定のViewだけ変換したい場合は別名のミューテーターを書いておくと便利。

<?php
// $model->hogeで配列の値を表示するようにしたい。
public function getHogeAttribute($value){
   return $array[$value];
}

// 一応これで元の値は取れるけどFormとかでパラメーター指定しておくのだるい
$model->getOriginal('hoge');

// 適当な名前のミューテーターを書いて変換後を利用したい所だけ$model->convHogeにする
public function getConvHogeAttribute($value){
   return $array[$this->hoge];
}