まず、Left Joinとは、主テーブルの全てのレコードと、関連するテーブルの一致するレコードを取得するための結合方法です。Right Joinはその逆で、関連するテーブルの全てのレコードと、主テーブルの一致するレコードを取得します。
以下に、Left JoinとRight Joinの使用例を示します。
- Left Joinの使用例:
$users = DB::table('users')
->leftJoin('posts', 'users.id', '=', 'posts.user_id')
->select('users.*', 'posts.title', 'posts.content')
->get();
上記の例では、'users'テーブルと'posts'テーブルをLeft Joinしています。'users'テーブルの全てのレコードと、'posts'テーブルの'user_id'カラムと'users.id'カラムの一致するレコードを取得しています。取得するカラムは、'users'テーブルの全てのカラムと、'posts'テーブルの'title'カラムと'content'カラムです。
- Right Joinの使用例:
$users = DB::table('users')
->rightJoin('posts', 'users.id', '=', 'posts.user_id')
->select('users.*', 'posts.title', 'posts.content')
->get();
上記の例では、'users'テーブルと'posts'テーブルをRight Joinしています。'posts'テーブルの全てのレコードと、'users'テーブルの'user_id'カラムと'posts.id'カラムの一致するレコードを取得しています。
以上が、Laravel 8のクエリビルダーを使用したLeft JoinとRight Joinの基本的な使い方です。これらの方法を活用することで、データベースクエリを柔軟に構築することができます。