KATUBLO
2019年05月08日

【laravel】eloquent ORMとは?プロパティの使い方を解説

こんにちは。KATUOです。
今回はlaravelにおけるeloquentORMについて解説していこうと思います。

eloquent ORMとは

Eloquent ORM(Eloquent Object Relational Mapping)とは、Laravelで提供されているデータ操作の為の機能です。データベースとモデルを関連付け、柔軟なデータ操作を行う為のLaravel独自の機能になります

引用:「LaravelのEloquentORMの基本から具体的な使い方(モデルを使ったDB操作)」

https://www.ritolab.com/entry/120.amp

まとめるとデータベースとモデルの関連付けを行ってくれる機能になります。またeloquentというのは英語で説得力のあるという形容詞の意味になります。

 

ORMとは

オブジェクト関係マッピング(英: Object-relational mapping、O/RM、ORM)とは、データベースとオブジェクト指向プログラミング言語の間の非互換なデータを変換するプログラミング技法である。オブジェクト関連マッピングとも呼ぶ。実際には、オブジェクト指向言語から使える「仮想」オブジェクトデータベースを構築する手法である。オブジェクト関係マッピングを行うソフトウェアパッケージは商用のものもフリーなものもあるが、場合によっては独自に開発することもある。

引用:「オブジェクト関係マッピング」

出典: フリー百科事典『ウィキペディア(Wikipedia)』

https://www.ritolab.com/entry/120.amp

 

互換というのは「入れ替え可能」という意味なので非互換というのは「入れ替え不可能」という意味です。ORMの意味を簡単にまとめると、データベースとプログラミング言語でデータのやりとりを行う技法のことを指します。

 

 

eloquentモデルで覚えておきたいプロパティ

$connection

どのDB接続するのかを記述できます。またonメソッドで動的に変更可

 

$table

どのテーブルを対象とするのを設定できます。

 

$primaryKey

主キーの設定ができます。

 

$incrementing

主キーを自動でインクリメントするかどうか自動で決められます。

 

$timestamp

テーブルの作成、更新日時を自動更新する設定ができます。

 

$fillable

$fillableに指定したカラムはcreate()やfill()、update()で値が代入することができます。ちなみにfillableは英語で「記入可能」という意味です。

 

$guarded

$guardedは逆に代入させないカラムを指定できます。

 

$hidden

モデルを配列/JSON変換するときに隠蔽されるcolumnの指定できます。例えばユーザー情報にまつわる情報をrest apiで取得するとして、不用意にパスワードが入った情報を扱うことは個人情報が流出するリスクがあります。これに対応するために、$hiddenというプロパティをつかって対応します。

 

$visible

$hiddenとは逆で、表示したいカラムを指定します。ディフォルトですべて$visibleになっているので、特に使う必要はないかと思います。

 

 

 

最後まで読んで頂き、ありがとうございました。
SNS等でのシェアが頂ければ幸いです!

プロフィール

@KATUO

現在都内私立大学に通う大学4年生。大学では電気電子工学を専攻。大学2年の夏頃に、プログラマーの長期インターン募集の広告が目に止まり、独学でプログラミングの学習をスタート。この時期からプログラミングにどハマりし、現在までに「AIスタートアップ」「Webマーケティング会社」でエンジニアとしての業務に没頭してきた。

大学生必見就活イベント