Open1
【Laravel】目的別クエリビルダの記述方法まとめ(記事を書く前の整理用)

select句
カラムを指定したい
some::select('カラム名1', 'カラム名2 as 別名', ......); // 1カラムずつ引数に指定する
既存のクエリビルダインスタンスに後からカラムを追加したい
$query = some::select('予め追加するカラム');
$query = $query->addSelect('後から追加するカラム');
※実際には条件次第で後から追加するカラムがある場合に使うことが多いかもしれません
selectに複雑な式を指定したい
// 素のSQLを指定することができる
some::selectRaw("
count(*) as cnt,
(case status_code when 1 then 'status1' when 2 then 'status2' else 'status0' end) as status
");
from句
テーブル名に別名を指定したい
// select * from some as 別名 に相当
some::from('some as 別名');
where句
検索条件を付与したい
modelインスタンスからwhere()を呼ぶことでwhere句に相当するものを付け加えることができる。
// select * from some where カラム名 演算子 値 に相当
some::where('カラム名', 演算子, 値); // 演算子には=,<,<>などの記号の他、likeも指定できる
// 単に select * from some where カラム名 = 値 としたい場合はカラム名と値だけ渡す形式も可
some::where('カラム名', 値);
// inを使用する
some::whereIn('カラム名', [値1, 値2, ......]); // 値を配列で渡す
// カラム名がNullであることを条件にする
some::whereNull('カラム名');
// カラム名がNullでないことを条件にする
some::whereNotNull('カラム名');
and演算子から続けて条件を付与したい
// where()から続けてwhere()を呼ぶとandで結合される
// select * from some where カラム名a = 値a and カラム名b = 値b に相当
some::where('カラム名a', 値a)->where(カラム名b, 値b);
or演算子から続けて条件を付与したい
// orを使用する場合はwhere()から続けてorWhere()を呼ぶ
// select * from some where カラム名a = 値a or カラム名b = 値b に相当
some::where('カラム名a', 値a)->orWhere(カラム名b, 値b); // where()と同じ引数のとり方が可能
ここまでで一旦ストップ。また時間がある時に↓の続きを書きます。
テーブル結合(join, left join, cross join)
order by
検索結果の順序を指定したい
limit句
検索結果の取得数を制限したい
検索結果の取得方法関連
サブクエリ
select句でサブクエリを使用したい
from句でサブクエリを使用したい
where句でサブクエリを使用したい
insert
update
delete
作成者以外のコメントは許可されていません