この記事では主に、laravel スキルにおけるクエリ ビルダー クエリ ビルダー オーバーレイ チェーン コールに関する関連情報を紹介します。この記事ではサンプル コードを通じて詳細に紹介しており、あらゆる人の学習や仕事に一定の参考学習価値があります。必要な場合は、下記をご覧ください。
クエリ ビルダーの概要
Laravel クエリ ビルダー (クエリ ビルダー) は、データベース検索を確立および実行するための便利で流暢なインターフェイスを提供します。
##PDO パラメーター バインディングを使用して、アプリケーションを SQL インジェクションから保護します。したがって、受信パラメータで特殊文字をエスケープする必要はありません。基本的に、すべてのデータベース操作が満たされ、サポートされているすべてのデータベース システムで実行できますはじめに
今日は、laravel クエリコンストラクターの小技を紹介します。公式ドキュメントのサンプルには詳しく記載されていません。高度なスキルではありません。いいえ、知っている学生は見てみてください。 ビジネス コードでは、さまざまな条件に基づいてクエリが実行されることがよくあります。簡単な例として、新しい順に並べられたユーザー リストをクエリしたいとします。条件としてステータスとタイプが存在する場合があります。 これは最初に私が書いた方法ですif($status && $type) { $users = User::where('status', $status)->where('type', $type)->latest()->get(); } else if ($status) { $users = User::where('status', $status)->latest()->get(); } else if ($type) { $users = User::where('status', $type)->latest()->get(); } else { $users = User::latest()->get(); }
$query = User::query(); // 如果用DB: $query = DB::table('user'); if ($status) { $query->where('status', $status); } if ($type) { $query->where('type', $type); } $users = $query->latest()->get();
function foo($query) { $query->with(['girl', 'gay']) ->latest() ->get(); } $query = User::query(); $users = foo($query);
この書き方の注意点は、where on $queryなどの制約メソッドを呼び出すとクエリが変更されてしまうため、場合によっては事前にクエリのクローンを作成しておく必要があることです。 たとえば、タイプ 1 とタイプ 2 のユーザーを同時に取得したいとします。
$query_1 = User::query(); $query_2 = clone $query_1; $users_1 = $query_1->where('type', 1)->latest()->get(); $users_2 = $query_2->where('type', 2)->latest()->get(); // 错误 $users_2 = $query_1->where('type', 1)->latest()->get(); // 这样写得到得是type = 1 and $type = 2
#概要参考:
興味があるかもしれない記事:
フィボナッチ数列を実装するための PHP コードの共有二分法に基づく配列検索関数の PHP 実装の例説明phpのクラスとオブジェクトの詳しい説明以上がLaravelスキル クエリビルダーオーバーレイチェーン呼び出しメソッド解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。