获取每个用户特定月份的所有事务的总和

kuuvgm7e  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(383)

我在小金融网络应用工作,我需要生成一个月的所有用户的总报告,其中显示了每个用户在一个月内所做的所有交易总额。表格结构如下。

username    amount  date
-----------------------------
a           1000    2018-8-1
b           2000    2018-8-1
c           1500    2018-8-3
b           1700    2018-8-6
b           1100    2018-8-7
a           2000    2018-8-10
c           1600    2018-8-12

需要获取每个用户当月的事务总数,例如

a : 3000
b : 4800
c : 3100

请帮我查一下总数 laravel query builder .

s6fujrry

s6fujrry1#

您可以这样做:

$user
->transactions()
->where('date', '>', Carbon::before())
->where('date', '<', Carbon::now())
->get(['user_id', 'amount'])
->sum('amount');

这是考虑到事务和用户模型之间的关系。你可以适应你的模式。但是@tim biegeleisen链接的纯mysql解决方案可能更节省资源。
您也可以使用 whereBetween() ,但请检查它是否能正确处理日期。

相关问题