こんにちは coffeeです。

 

いくつかのサイトを参考にLaravelについての関係図を作成してみました。

データベースとアプリケーション間のデータの受け渡しの方法がいくつかあるようです。

今日はこれらについて少し考察したいと思います。

 

Eloquent ORM

Screen Shot 2019-01-03 at 10.49.30

Eloquent ORMとは何か?

の前に、ORMとは何か?ですが

Object Relational Mapping(オブジェクト関係マッピング)の略語だそうです。

O/Rマッパーと書かれることもあるようです。

データベースオブジェクト指向プログラミング言語の間の非互換なデータを変換するプログラミング技法 -Wikipedia

言い換えると、データベースの構造と、オブジェクト指向プログラムの差を吸収するものです。Laravelで実装されたORMがEloquentというわけです。

Eloquent ORMはLaravelに含まれている、美しくシンプルなアクティブレコードによるデーター操作の実装です。それぞれのデータベーステーブルは関連する「モデル」と結びついています。モデルによりテーブル中のデータをクエリできますし、さらに新しいレコードを追加することもできます。Eloquent

Laravelの機能として、Eloquent ORMは実装されており、モデルをつかってデータベースに対してクエリ操作が行える、ということが言われています。

クエリビルダー

Screen Shot 2019-01-03 at 10.58.20.png

クエリビルダーとは?

名前の通り、SQL文などのクエリを作成する機能を持っています。

データベースクエリビルダはスラスラと書ける(fluent)便利なインターフェイスで、クエリを作成し実行するために使用します。アプリケーションで行われるほとんどのデーターベース操作が可能で、サポートしている全データベースシステムに対し使用できます。

LaravelクエリビルダはアプリケーションをSQLインジェクション攻撃から守るために、PDOパラメーターによるバインディングを使用します。-クエリビルダー

詳しくはこちらのサイトが参考になります。

kore1server-クエリービルダーとEloquent

 

速度比較

データベースの速度比較ですが、

PDO>クエリビルダー>Eloquent

であるようです。

こちらで比較されていました。

【 Laravel 】LaravelのEloquentとPDOの実行時間を比較する

Eloquentは遅いのか

 

 

参考文献

参考にさせていただいた文献の一覧です。

もっとORMを使えるようになりたいので、見直してみた-Qiita

kore1server-クエリービルダーとEloquent

Laravel学習帳

ララ帳

コメントを残す

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください