如何收集(数学上)进入数据库的任何数字

How to collect (mathematically) any number that enters the database

我不知道如何用英语解释这个,但我会尽力的。

我有一个名为 invoices 的 table,当用户执行某些操作时,一条记录会添加到 table 中。这叫做 Amount。所以我想知道是否可以添加进入发票 table 的所有记录?

喜欢:


AMOUNT 1 + AMOUNT 2 + AMOUNT 3 + Keeps going ...


并显示总数。

我不知道该尝试什么,该做什么。我以前从来没有做过这样的事情

有可能做到吗?

您可以将 Eloquent 用于您的模型:

$total = Invoice::where('column', 'some condition')->sum('amount');

您可以使用数据库生成器:

$total = DB::table('invoices')->sum('amount');

恋爱中

Sale::where('column', 'some condition')->with('invoices', function($query){
    $query->sum('amount');
}])->get();

你可以使用 sql

SELECT SUM(amount) as Total FROM invoices WHERE ...... some condition

这是你需要的吗?

叫做Aggregates

Laravel Documentation / Aggregates

一个简单的例子:


$users = DB::table('transactions')
    ->sum('transactions.amount');


如果你想总结一段关系,试试这样的事情:


$user->invoices->sum('amount')


Laravel Eloquent 关系列的总和

你可以像这样使用 sum() 来轻松完成

invoice::sum('amount');

你可以查看laravel docs