はじめに
私は株式会社qnoteにて、勉強会の幹事を務めております。
2023年度勉強会の珠玉のネタを2023Qiitaアドベントカレンダーに投稿していこうと思います。
対象者
この記事は下記のような人を対象にしています。
- 駆け出しエンジニア
- プログラミング初学者
結論
無限ループを防いでアクセサーを活用しましょう。
解説
条件次第で値をそのまま返す可能性がある場合に、無限ループを防ぐ。
// NG
public function getQuantityAttribute()
{
return $this->quantity > 0
? $this->quantity
: 0;
}
// OK
public function getQuantityAttribute($quantity)
{
return $quantity > 0
? $quantity
: 0;
}
上記の書き方は古いので、最新のアクセサー(ゲッター)の書き方はこちら。
【Laravel9対応】Eloquent の Accessors / Mutators
おわりに
アクセサー(ゲッター)に引数を入れる方法についてまとめました。
参考記事