【Laravel8】eloquentでデータを取得する時に自動でカラム内容を加工するアクセサ

今回はEloquentを使ってデータを取得する時に特定のカラムをもう固定の加工をしたい~って時に使う方法です!

とにかくgetとかしている時に毎回このカラムを特定の加工をしているなあみたいなことがあれば、アクセサの出番ですわ!!!

一応公式の記事を↓

加工方法

Modelに書いていきましょう~

getカラム名アッパーキャメルAttribute()でメソッド名を作成します!例えばcreated_atのカラムって基本的にどのテーブルにも存在しますよね?

created_atはY-m-d H:i:sY-m-dに変換するようなアクセサを作成してみます!

例えばUserModelの情報を加工するならば以下のようにします!

public function getCreatedAtAttribute($createdAt)
{
    retrun substr($createdAt, 0, 10);
}Code language: PHP (php)

ちなsubstrの使い方は↑

そしてデータを取得したら取得結果が変わるかと思います

dd(User::get());Code language: JavaScript (javascript)

まとめ

今回はこんな感じで簡単ではありますが、アクセサの使い方でした~

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA