ホームページ >PHPフレームワーク >Laravel >laravelでselect asメソッドを使用する方法の簡単な分析
Laravel は、SQL クエリ ステートメントを簡素化する方法など、多くの便利な機能を提供する人気の PHP フレームワークです。その 1 つは select as メソッドです。
select as メソッドを使用すると、SQL クエリ ステートメント内のクエリ結果の列に別名を付けることができるため、将来これらの列を操作および参照できるようになります。このメソッドの構文は次のとおりです。
DB::table('table_name') ->select('column_name AS column_alias', 'another_column AS another_alias') ->get();
上記の例では、DB クラスを使用してデータベースに接続し、テーブル (table_name
) を選択します。 select
メソッドを使用して必要な列を選択し、これらの列の別名を定義します。エイリアスの形式は column_name AS column_alias
です。
たとえば、Users テーブルの id
列と username
列のエイリアスを定義するには:
DB::table('users') ->select('id AS user_id', 'username AS name') ->get();
これは、次の内容を含むオブジェクトの配列を返します。すべて一致 クエリ条件の結果:
[ { "user_id": 1, "name": "john" }, { "user_id": 2, "name": "jane" }, { "user_id": 3, "name": "bob" }, ... ]
エイリアスを使用して、結果の並べ替え、フィルター、ページ付けなどを行うことができます:
DB::table('users') ->select('id AS user_id', 'username AS name') ->orderBy('name') ->skip(10) ->take(5) ->get();
上記の例では、ユーザー名のアルファベット順に並べ替えています。 、ジャンプ 最初の 10 件の結果を確認し、次の 5 件の結果を選択します。
select as メソッドは、結合クエリを含むあらゆる種類のクエリに適用できます。たとえば、注文の詳細と対応するユーザーの ID を含む orders
テーブルがあるとします。
orders table: +----+---------+---------+------+ | id | user_id | product | cost | +----+---------+---------+------+ | 1 | 1 | Apple | 10 | | 2 | 2 | Banana | 15 | | 3 | 1 | Orange | 8 | | 4 | 3 | Pear | 20 | | 5 | 2 | Kiwi | 5 | | 6 | 1 | Mango | 12 | +----+---------+---------+------+
結合クエリを使用して、注文の合計金額を取得できます。各ユーザー:
DB::table('users') ->join('orders', 'users.id', '=', 'orders.user_id') ->select('users.name', DB::raw('SUM(cost) AS total_cost')) ->groupBy('users.name') ->get();
上の例では、users
テーブルと orders
テーブルを結合し、すべてのユーザーの名前とその合計注文価格を選択します (## を使用) #SUM 集計関数の計算)。
GROUP BY を使用して、結果をユーザー名ごとにグループ化します。最終結果は次のようになります:
[ { "name": "bob", "total_cost": "20" }, { "name": "jane", "total_cost": "20" }, { "name": "john", "total_cost": "30" }, ... ]この例では、SQL クエリ ステートメントの元のコードを処理するために
DB::raw を使用していることに注意してください。このメソッドを使用すると、任意のコードを追加できます。集計関数などの必要があります。
以上がlaravelでselect asメソッドを使用する方法の簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。