Googleドライブの仕様が変わっていて「マイドライブ」で同期するローカルフォルダの変更に手間取ったお話
[2023/02/22]
DB::table() ->leftJoin() で第二引数にクロージャーを渡せるので、その中でフィルタ的な処理を書き込む。
ユーザーが投稿した記事の一覧を取得する際はこんな感じで LEFT JOIN を指定。
$users = DB::table('users') ->leftJoin('posts', 'users.id', '=', 'posts.user_id') ->get();
ただし、この場合だと LEFT JOIN (テーブル名) ON (条件式…)の 条件式… 部分に1つの条件(通常はキーカラムをマッチさせる)しか指定できない。
「削除フラグが立っている記事は除外したい」なんて時には、クロージャを使って複数条件を設定可能。
下記ソース内の $join には JoinClause オブジェクトが渡ってくる。(JoinClause の詳細)
DB::table('users') ->leftJoin('posts', function ($join) { $join->on('users.id', '=', 'posts.user_id') ->where('posts.del_flg', '=', false); }) ->get();
参考情報:下記公式サイトの「上級のJOIN文」部分を参照
ディスカッション
コメント一覧
まだ、コメントがありません