我有一个 Laravel Cashier 和 Stripe 订阅平台。我正在尝试创建一个管理员后端,管理员可以在其中查看所有订阅付款以及网站在订阅中产生的总金额。我能够大致获得如下付款清单(通过发票):
// create an empty collection to hold the invoices
$users = User::whereNotNull('stripe_id')->get();
foreach($users as $user){
$user->invoices = $user->invoices();
}
这会将所有用户的发票添加到每个用户,然后我可以在我的视图中遍历它们以获取所有发票和支付金额的列表。
现在的问题是,当我尝试获取所有发票的总订阅付款时,总和返回零。这就是我尝试获得总付款的方式:
$total_payments = $users->sum('invoices.total')
这0
总是返回。我也尝试过像这样重写。
$total_payments = $user->sum(function ($inv){
return $inv->invoices->sum('total')
}
这也返回0
。不确定有更好的方法来做到这一点。我正在使用 L5.4。