libro
www.tuyano.com
初心者のためのLaravel入門

ORM(Eloquent)の利用 (1/5)

作成:2016-02-14 11:28
更新:2016-02-14 11:28

■O/Rマッピングとは?

前回、データベースへのアクセスは行えるようになりましたが、DBクラスを利用したやり方は、基本的に「データベースアクセスのためのSQLクエリーをデータベースに送信する」というものでした。これはこれで、まぁSQLに慣れていればわかりやすいものではありますが、あまりきれいなやりかたではありません。

なにより、コードのあちこちにPHPとは関係のないSQL文が書かれているわけで、ちょっと修正をするにもそのSQLを書き直さないといけません。また返されるデータの中身がどうなっているかも、実際に受け取ってみるまではわかりません。これは決してメンテナンス性の良いやり方ではないでしょう。ある時、いきなり他人がその開発を担当するようになったら、何がなんだかわからないかもしれません。

もっとPHPらしいやり方ができれば、そのほうが便利でしょう。PHPのオブジェクト(クラス)としてテーブルのデータを受け取ったり、メソッドとしてデータベースへのアクセスを行ったりできれば、そのほうがすっきりします。

オブジェクト指向言語では、こういうとき、「ORM(O/R Mapping)」と呼ばれる技術を使います。O/Rとは、「Object/Relational」の略で、(PHPなどの)オブジェクトとリレーショナルデータベースのデータの間をマッピングする技術です。データベーステーブルにあるデータをPHPのオブジェクトに変換したり、逆にPHPのオブジェクトをそのままデータベーステーブルのデータに変換したりする機能を提供します。PHP側では、ただ用意したクラスを操作するだけで、対応するデータベーステーブルを自動的に操作できるようになる、ということです。

Laravelには、EloquentというORMが搭載されており、これを利用することで、SQLなどのややこしいことをあまり考えなくてもデータベース利用ができるようになります。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

※関連コンテンツ

「初心者のためのLaravel入門」に戻る