■共通点
・SQLを書かずに、簡潔なコードでDBアクセスできる
・PDO_parameter_bindingを使用する為、SQLインジェクションよる危険性が減る
①Eloquent
・LaravelのORM
・モデルクラスを使用
・自動的なマッピングが可能
・リレーションシップ(テーブル間の関連付け)をサポート
・戻り値はモデルオブジェクト
②クエリビルダ
・メソッドチェーンでDBクエリを構築
・自動的なマッピングではなく、明示的にカラム名を指定する必要がある
・リレーションシップを扱うためには、追加のクエリを書く必要がある
・戻り値はコレクション
■どう使い分ける?
・クエリビルダを使うパターン
基本DB操作や、シンプルなクエリ操作はクエリビルダを推奨。
メソッドチェーンで柔軟に条件などを操作できる。
・Eloquentを使うパターン
モデル間の関連付けや、複雑なクエリを扱う場合はEloquentを推奨。
クエリビルダにはない特徴がある。