クエリビルダ
参考
PHPフレームワーク Laravel Webアプリケーション開発 バージョン5.5 LTS対応
概要
クエリビルダはsqlを作って実行するための仕組み。
Eloquentも内部的にクエリビルダのインスタンスを持っている。
メソッド
sqlの関数に即したメソッドを持っている。
select, where, leftJoin, orderBy などのメソッドはクエリビルダのインスタンス(Illuminate\Database\Query\Builder)を返り値として返す。
またこの時点ではsqlは実行されない。
sqlが実行されるのはget()やfirst()が実行されるとき。
この結果はEloquentモデルのインスタンスとして返ってくる。
構文
クエリビルダをDBファサードから取得する方法
$query = DB::table('users');
メソッド覚書
where系のメソッドは連続して繋げるとand条件になる。or条件を使いたい場合はwhere()にorWhereをつなげる。
join系のメソッドを使うことで条件に当てはまらないレコードはこの時点で弾くことができる。
クエリの実行・データの取得
get()
全てのデータを取得する
object(Illuminate\Database\Eloquent\Collection)
first()
最初の一行を取得する
object(App\User)など具体的なモデルインスタンス。