LaravelのorWhereメソッドを使った条件分岐の実装方法


orWhereメソッドを使用することで、複数の条件を指定し、いずれかの条件に一致するレコードを取得することができます。以下にいくつかのコード例を示します。

  1. 単純なorWhereの使用例:
$users = DB::table('users')
            ->where('name', 'John')
            ->orWhere('name', 'Jane')
            ->get();

上記の例では、nameカラムが「John」または「Jane」に一致するユーザーのレコードを取得します。

  1. 複雑な条件の組み合わせ:
$users = DB::table('users')
            ->where('age', '>', 18)
            ->orWhere(function ($query) {
                $query->where('name', 'John')
                      ->orWhere('name', 'Jane');
            })
            ->get();

上記の例では、ageカラムが18より大きいか、nameカラムが「John」または「Jane」に一致するユーザーのレコードを取得します。orWhereメソッドの中でクロージャを使用することで、より複雑な条件の組み合わせを実現することができます。

  1. orWhereと他の条件メソッドの組み合わせ:
$users = DB::table('users')
            ->where('age', '>', 18)
            ->orWhere('name', 'like', '%doe%')
            ->orderBy('name')
            ->get();

上記の例では、ageカラムが18より大きいか、nameカラムが「doe」を含むユーザーのレコードを取得し、nameカラムでソートします。

以上がorWhereメソッドの使用例です。これを使うことで、データベースクエリを柔軟に組み立てることができます。