ホームページ > PHPフレームワーク > Laravel > Laravelは特定の列の合計を求めます

Laravelは特定の列の合計を求めます

PHPz
リリース: 2023-05-26 13:27:08
オリジナル
957 人が閲覧しました

Laravel は現在最も人気のある PHP フレームワークの 1 つであり、開発者がタスクをより効率的に完了できるようにする便利なメソッドが多数提供されています。一般的に使用される関数の 1 つは、データベース内のデータに対して合計演算を実行することです。この記事では、Laravel を使用して列を合計する方法を説明します。

Laravel では、データベース操作に Eloquent を使用できます。 Eloquent は Laravel の ORM (オブジェクト リレーショナル マッピング) モジュールで、データベース テーブルをオブジェクト モデルにマップして操作を容易にすることができます。まず、操作したいテーブルをマッピングするために、Laravel で Eloquent モデルを定義する必要があります。テーブル内の特定の列「金額」を合計したいとします。定義モデルのコードは次のとおりです:

namespace App;

use IlluminateDatabaseEloquentModel;

class Transaction extends Model
{
    protected $table = 'transactions';
    protected $fillable = ['amount', 'description'];
}
ログイン後にコピー

上記のコードでは、データベースに対応する「トランザクション」という名前のモデルを定義します。テーブルの名前は「トランザクション」です。 「金額」や「説明」など、入力可能な属性でバッチ割り当てできるテーブル内のフィールドを定義します。

次に、Eloquent が提供するメソッドを使用して、「金額」列を合計します。コントローラーには次のコードを記述できます:

namespace AppHttpControllers;

use AppTransaction;
use IlluminateHttpRequest;

class TransactionController extends Controller
{
    public function totalAmount()
    {
        $sum = Transaction::sum('amount');
        return view('transactions.total_amount', compact('sum'));
    }
}
ログイン後にコピー

上記のコードでは、Laravel の依存関係注入関数を使用して、Request クラスとトランザクション モデルを導入します。次に、トランザクション モデルの sum メソッドを呼び出して、「amount」列を合計する「totalAmount」というメソッドを作成しました。最後に、合計結果をビュー ファイル「transactions.total_amount」に渡して表示します。

最後に、このメソッドにアクセスするには、ルーティング ファイルにルートを定義する必要があります。このメソッドをルート「/transactions/total-amount」にバインドすると仮定すると、routes/web.php に次のコードを追加できます。

Route::get('/transactions/total-amount', 'TransactionController@totalAmount');
ログイン後にコピー

次に、URL「http」にアクセスします。ブラウザー:://yourdomain.com/transactions/total-amount」にアクセスして、「金額」列の合計を表示します。

要約すると、Laravel はデータベース内のデータに対して合計演算を実行する非常に便利な方法を提供します。 Eloquent モデルの sum メソッドを使用するだけで、これを簡単に実現できます。

以上がLaravelは特定の列の合計を求めますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート