Laravel DBの操作は3種類

色々あるとどれ使うか悩む。

Laravel DBの操作は以下の3種類。

Laravel でデータベースを操作するには、

・DBクラス
・DBクラスのクエリビルダ
・Modelクラスの Eloquent ORM

上記3つのうち、どれかを使用しますが、

qiita

DBクラス

  • ほぼ、素のSQL文が書ける。

クエリビルダ

  • SQL文は書かないけど、それに近い表現でphpコーディングできる。
  • メソッドチェーンが書ける。

Eloquent ORM

  • テーブルをphpのクラスとして操作できる
  • DBが変わってもLaravel側の記述(phpでコーディングした内容)は変わらない

 

どれ使うか

DBクラスだと、今までフレームワーク使わず素のphpだけ使ってきてた場合に移行しやすそう。反面あまりスマートじゃない気がする。しかしパフォーマンスは一番いい(はず)。

クエリビルダは直感的に使えそうだし、スピードもそこそこ速いらしい。記述量が多くなるのがちょっとアレだけど、個人サービスならこれがいいかも。

Eloquentは一番ドヤァ感が出せる気がする。しかし先の引用先にも記述されているが、クエリビルダとEloquentのどちらを取るかは迷うところらしい。

 

クエリビルダとEloquentのどちらかを使って、SQLを直接きじゅつしなければならない(記述したほうがコード全体で見ても良い)という感じになるかな。

 

クエリビルダとEloquentのどちらを使うか?についてはこちらのqiita記事(【Laravel】クエリビルダとORMの違い)とか見るとやっぱEloquentのほうがいいかぁという気になってくるなー。

コメント

タイトルとURLをコピーしました