ホームページ > 記事 > PHPフレームワーク > laravelクエリ構文
Laravel は現在最も人気のある PHP フレームワークの 1 つで、そのクエリ構文は洗練されており、シンプルで使いやすいです。この記事では、Laravel のクエリ構文を詳しく説明し、いくつかの一般的なクエリ方法と複雑なクエリを実行する方法を紹介します。
Laravel クエリの基本構文
Laravel では、クエリステートメントは Eloquent ORM を使用して構築されます。 ORM はオブジェクト リレーショナル マッピングであり、オブジェクト指向の方法でデータベースを操作できるようになり、データベースとの対話プロセスが大幅に簡素化されます。
以下は、Laravel クエリ構文の使用例です:
//単一ユーザーを取得します
$user = User::find(1);
/ /ユーザー List
$users = User::all();
//指定された条件でユーザーのリストを取得するための条件付きフィルタリング
$users = User::where('age ', '> ', 18)->get();
//データ更新
$user->name = '新しい名前';
$user->save ();
//データの削除
$user->delete();
上記のように、Laravel クエリ構文を使用すると、基本的な CURD 操作を簡単に実装できます。以下に、一般的に使用されるクエリ方法をいくつか紹介します。
一般的に使用されるクエリ メソッド
$users = User::where('age', '>', 18)->where('gender', 'male')->get() ;
where() メソッドは、演算子を指定する 3 番目のパラメーターを受け取ることもできます (例:
$users = User::where('age', '>=', 18)->get();
$users = User::orderBy('age')->get();
デフォルトでは、orderBy ()メソッドは昇順に並べられています。降順で並べ替えたい場合は、DESC パラメータを渡すことができます:
$users = User::orderBy('age', 'desc')->get();
また、orderBy() メソッドは、複数の並べ替え条件を指定するために複数のパラメーターを受け取ることができます:
$users = User::orderBy('age', 'desc')->orderBy('name')- >get();
$users = User::select('name', 'email')->get();
* を使用してすべての列をクエリすることもできます:
$users = User::select('*')->get();
$users = User::take(10)->get();
また、skip( を使用することもできます。 ) メソッド ページングの実装:
$users = User::skip(10)->take(10)->get();
$users = User::whereIn('age', [16, 17, 18])->get() ;
$users = User::whereNull('email')->get();
$users = User::groupBy('gender')->having('age ', '>', 20)->get();
複雑なクエリ
上記では、Laravel クエリ構文の基本的な使用法をいくつか紹介しています。ただし、実際の開発では、通常クエリを実行する必要があるデータは非常に複雑な場合があり、それを実現するにはさらに多くのクエリ メソッドを使用する必要があります。 Laravel では、クエリ ビルダーを使用して、より複雑なクエリ ステートメントを作成できます。
たとえば、ユーザーの購入記録で累積消費額が 500 元を超えるユーザーをクエリするには、次のように記述できます:
$users = DB::table('users' )
->join('orders', 'users.id', '=', 'orders.user_id') ->select('users.id', 'users.name', 'users.email', DB::raw('SUM(orders.total) as total')) ->groupBy('users.id') ->having('total', '>', 500) ->get();
上記のコードでは、join() メソッドを使用して user テーブルと order テーブルを接続し、groupBy() メソッドを使用してユーザーをグループ化し、having() メソッドを使用してフィルタリングします。累計消費額が500元を超えたユーザー。
概要
Laravel では、Eloquent ORM を使用して基本的な CURD 操作を簡単に実装できます。同時に、クエリ ビルダーを使用して、より複雑なクエリを実装できます。この記事がLaravelのクエリ構文を理解するのに役立つことを願っています。
以上がlaravelクエリ構文の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。