大田区から発信するゆるゆる日記

主にITエンジニアに関する備忘録日記。たまに趣味も。何か不備があればコメント頂けると幸いです。Twitterアカウント https://twitter.com/ryuzan03

【Laravel】アクセサとミューテタ

※下記の内容に不備がありましたら、コメント頂けると幸いです。また、下記の内容をご使用頂ける場合は自己責任でお願いします。

【目次】

 

背景

Laravelで出てくる「アクセサ」「ミューテタ」がよく分からなかったので、記事にまとめてみます。

 

アクセサとミューテタ

アクセサとは?

Eloquentでデータ操作を行う場合、テーブルから取得するカラムのフォーマットを別のフォーマットに変換して取得することができます。 

 

フォーマットの定義は、Eloquentのモデルクラスで行います。

 

テーブルの値を取得する際に値を操作したいことがあると思いますが、コントローラに書くと冗長になるので、そんな時はアクセサや下記のミューテタを使うのが良いかと思います。

 

ミューテタとは?

アクセサとは逆です。

 

Eloquentでデータ操作を行う場合、テーブルに値を挿入する際に、値を予め定義したフォーマットに変換して挿入することができます。 

 

フォーマットの定義は、Eloquentのモデルクラスで行います。

 

メソッドの命名規則

アッパーキャメルケースのカラム名を使用します。

 

アクセサの場合

get【アッパーキャメルケースのカラム名】Attribute

 

ミューテタの場合

set【アッパーキャメルケースのカラム名】Attribute

 

参考

素晴らしい記事に感謝いたします。

Eloquent:ミューテタ 5.5 Laravel

Laravelのアクセサとミューテタを用いてEloquentモデルの属性フォーマットを定義する