Laravelで複雑なクエリ条件を作成する方法
Laravel では、複雑なクエリ条件を構築することが非常に一般的な要件です。同時に複数の条件を満たすデータをクエリする必要がある場合、特定のフィールドの最大値または最小値をクエリする必要がある場合、特定の条件を満たさないデータをクエリする必要がある場合などがあります。この記事では、Laravel のクエリ ビルダーを使用してこれらの要件を達成する方法を紹介します。
- 基本的なクエリ
まず、Laravel の基本的なクエリ構文を見てみましょう。 Laravel では、DB ファサードの table() メソッドを使用してクエリするテーブルを指定し、select() メソッドを使用してクエリする必要があるフィールドを指定できます。
たとえば、次のコードは、users テーブル内のすべてのレコードをクエリし、その ID フィールドと名前フィールドを返します。
DB::table('users')->select('id', 'name')->get();
where() メソッドを使用してクエリ条件を指定することもできます。たとえば、次のコードは、users テーブル内の 18 より古いレコードをクエリします。
DB::table('users')->where('age', '>', 18)->get();
- クエリ条件の組み合わせ
複数の条件を満たす必要がある場合同時に、where () メソッドを使用してクエリ条件を組み合わせることができます。
たとえば、次のコードは、18 歳以上で男性の両方のレコードについて users テーブルをクエリします。
DB::table('users')->where('age', '>', 18)->where('gender', 'male')->get();
orWhere() メソッドを使用して、いずれかのレコードを指定することもできます。条件は満たしています。
たとえば、次のコードは、users テーブル内の 18 歳以上または性別が男性のレコードをクエリします。
DB::table('users')->where('age', '>', 18)->orWhere('gender', 'male')->get();
複数の条件の組み合わせが必要な場合は、次のように使用できます。それを達成するためのクロージャ。
たとえば、次のコードは、users テーブルにクエリを実行して、年齢が 18 歳以上で性別が男性、または年齢が 18 歳以上で性別が女性という要件を満たすレコードを探します。 ##ファジー クエリ
- フィールドの一部に基づいてクエリを実行する必要がある場合があります。 like() メソッドとワイルドカードを使用して、ファジー クエリを実装できます。次のコードは、名前が「J」で始まる users テーブル内のレコードをクエリします。
DB::table('users')->where(function($query) { $query->where('age', '>', 18) ->where('gender', 'male'); })->orWhere(function($query) { $query->where('age', '=', 18) ->where('gender', 'female'); })->get();
最大値と最小値のクエリ
- 特定の値をクエリする必要がある場合があります。フィールド 最大値または最小値。これは、max() メソッドと min() メソッドを使用して行うことができます。次のコードは、users テーブルの age フィールドの最大値と最小値をクエリします。特定のフィールドが特定の値のレコードと等しくない。これを実現するには、where() メソッドと <> シンボルを使用します。次のコードは、users テーブル内の性別が男性ではないレコードをクエリします。
DB::table('users')->where('name', 'like', 'J%')->get();
in and not in query
- の値をクエリする必要がある場合があります。リスト内の特定のフィールドレコード。これは、whereIn() メソッドと値のリストを使用して行うことができます。次のコードは、users テーブル内の年齢フィールド値が 18、19、または 20 であるレコードをクエリします。
$maxAge = DB::table('users')->max('age'); $minAge = DB::table('users')->min('age');
- 存在するクエリと存在しないクエリ
DB::table('users')->where('gender', '<>', 'male')->get();
以上がLaravelで複雑なクエリ条件を作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

この記事では、堅牢なLaravel Restful APIの構築をガイドします。 プロジェクトのセットアップ、リソース管理、データベースインタラクション、シリアル化、認証、承認、テスト、および重要なセキュリティベストプラクティスをカバーしています。 スケーラビリティチャレに対処します

この記事では、LaravelでOAUTH 2.0認証と承認を実装しています。 League/OAuth2-Serverやプロバイダー固有のソリューションなどのパッケージを使用して、データベースのセットアップ、クライアント登録、承認サーバー構成を強調しています

この記事では、コンポーネントを使用してLaravelで再利用可能なUI要素の作成とカスタマイズについて説明し、組織のベストプラクティスを提供し、パッケージを強化することを提案します。

この記事では、スケーラビリティ、信頼性、セキュリティに焦点を当てたクラウドネイティブ環境でLaravelを展開するためのベストプラクティスについて説明します。重要な問題には、コンテナ化、マイクロサービス、ステートレス設計、最適化戦略が含まれます。

この記事では、Laravelでカスタム検証ルールの作成と使用について説明し、それらを定義および実装する手順を提供します。再利用性や特異性などの利点を強調し、Laravelの検証システムを拡張する方法を提供します。

PHPフレームワークの選択に関しては、LaravelとSymfonyは最も人気があり広く使用されているオプションの1つです。各フレームワークは、独自の哲学、特徴、強みをテーブルにもたらし、さまざまなプロジェクトやユースケースに適しています

この記事では、Laravelでカスタムブレードディレクティブの作成と使用を行い、テンプレートを強化します。ディレクティブの定義、テンプレートでそれらを使用し、大規模なプロジェクトでそれらを管理することをカバーし、改善されたコードの再利用性やRなどの利点を強調しています

この記事では、Laravelの最適なファイルアップロードとクラウドストレージ戦略を調べます。 ローカルストレージとクラウドプロバイダー(AWS S3、Google Cloud、Azure、DigitalOcean)、セキュリティ(検証、消毒、HTTPS)およびパフォーマンスオプティを強調しています
