Laravel 收银员列出所有发票和总计

Ale*_*lex 5 laravel-5 laravel-cashier

我有一个带有 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();
}
Run Code Online (Sandbox Code Playgroud)

这会将所有用户的发票添加到每个用户,然后我可以在我的视图中遍历它们以获取所有发票和支付金额的列表。

现在的问题是,当我尝试获取所有发票的订阅付款总额时,总和返回零。这就是我尝试获得总付款的方式:

$total_payments = $users->sum('invoices.total')    
Run Code Online (Sandbox Code Playgroud)

0总是返回。我也试过重写这个。

$total_payments = $user->sum(function ($inv){
    return $inv->invoices->sum('total')
}
Run Code Online (Sandbox Code Playgroud)

这也返回0。不确定有更好的方法来做到这一点。我正在使用 L5.4。