ホームページ > 記事 > PHPフレームワーク > laravelのさまざまな条件を合計する
Laravel は、開発効率を向上させるための便利な機能と構文を多数提供する人気の PHP 開発フレームワークです。その中でもsum関数はLaravelで非常によく使われる関数で、セット内の値を合計することができます。しかし、実際の開発では、さまざまな条件で合計を実行する必要がある場合があります。この記事では、Laravel がさまざまな条件下で Sum 演算を実行する方法を紹介します。
1. 単純な場合の合計演算
Laravel では、sum 関数を呼び出すだけで、コレクションに対して簡単に合計演算を実行できます。たとえば、配列を合計します:
$sum = collect([1, 2, 3, 4, 5])->sum();
この例では、$sum の値は 15 で、これは 1 2 3 4 5 の合計です。
同様に、オブジェクトの配列があり、その中の特定の属性を合計したい場合は、次のようにすることができます:
$sum = collect([ ['name' => 'Alice', 'score' => 80], ['name' => 'Bob', 'score' => 90], ['name' => 'Charlie', 'score' => 70] ])->sum('score');
この例では、$sum の値は 240 です。 80 90 70 の合計です。
2. 条件付き合計演算
実際の開発では、さまざまな条件で合計演算を実行する必要があることがよくありますが、この場合には、Laravel の where 関数を使用する必要があります。 where 関数は、指定された条件に基づいてコレクション内の値をフィルターできます。たとえば、ユーザーの配列があります。各ユーザーには、名前と年齢という 2 つの属性があります。18 歳以上のすべてのユーザーの年齢の合計を計算したい場合は、次のように実行できます:
$users = collect([ ['name' => 'Alice', 'age' => 20], ['name' => 'Bob', 'age' => 16], ['name' => 'Charlie', 'age' => 25] ]); $sum = $user->where('age', '>', 18)->sum('age');
この例では、$ sum の値は 20 25 の合計である 45 です。
同様に、注文の配列があり、各注文にステータス属性があり、完了したすべての注文の金額の合計を計算したい場合は、これを行うことができます:
$orders = collect([ ['id' => 1, 'status' => 'created', 'amount' => 10], ['id' => 2, 'status' => 'completed', 'amount' => 20], ['id' => 3, 'status' => 'cancelled', 'amount' => 30], ['id' => 4, 'status' => 'completed', 'amount' => 40] ]); $sum = $orders->where('status', 'completed')->sum('amount');
この例では、$sum の値は 20 40 の合計である 60 です。
3. 複数の条件に基づく合計
複数の条件に基づいて合計演算を実行する必要がある場合があります。これは、Laravel の where 関数のチェーン呼び出しを使用して実現できます。たとえば、ユーザーの配列があります。各ユーザーには、名前、年齢、地域という 3 つの属性があります。北京に住む 18 歳以上のすべてのユーザーの年齢の合計を計算したい場合は、次のようになります。これを実行します:
$users = collect([ ['name' => 'Alice', 'age' => 20, 'area' => 'Beijing'], ['name' => 'Bob', 'age' => 16, 'area' => 'Shanghai'], ['name' => 'Charlie', 'age' => 25, 'area' => 'Beijing'] ]); $sum = $user->where('age', '>', 18)->where('area', 'Beijing')->sum('age');
この例では、$sum の値は 20 で、これはアリスの年齢です。
同様に、注文の配列があり、各注文にステータス属性と日付属性があり、完了したすべての注文の 2019 年 1 月 1 日以降の注文金額の合計を計算したい場合は、次のようにすることができます。次のようになります。
$orders = collect([ ['id' => 1, 'status' => 'created', 'amount' => 10, 'date' => '2019-01-01'], ['id' => 2, 'status' => 'completed', 'amount' => 20, 'date' => '2019-01-05'], ['id' => 3, 'status' => 'cancelled', 'amount' => 30, 'date' => '2018-12-31'], ['id' => 4, 'status' => 'completed', 'amount' => 40, 'date' => '2019-02-01'] ]); $sum = $orders->where('status', 'completed')->where('date', '>', '2019-01-01')->sum('amount');
この例では、$sum の値は 20 で、これは 2 番目の注文の金額です。
要約すると、Laravel の sum 関数と where 関数は非常に便利で実用的であり、条件付き合計演算をすばやく完了するのに役立ちます。実際の開発では、ニーズに応じてこれらの機能を柔軟に活用することで、開発効率を向上させることができます。
以上がlaravelのさまざまな条件を合計するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。