gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 18:05:13 25 4
gpt4 key购买 nike

我有一个带有 Laravel Cashier 和 Stripe 的订阅平台。我正在尝试创建一个管理员后端,管理员可以在其中查看所有订阅付款以及网站在订阅中生成的总金额。我大致得到了一份付款 list (通过发票),如下所示:

// create an empty collection to hold the invoices
$users = User::whereNotNull('stripe_id')->get();
foreach($users as $user){
$user->invoices = $user->invoices();
}

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

现在的问题是,当我尝试获取所有发票的订阅付款总额时,总和返回零。这就是我尝试获得总付款的方式:
$total_payments = $users->sum('invoices.total')    

这总是返回 0。我也试过重写这个。
$total_payments = $user->sum(function ($inv){
return $inv->invoices->sum('total')
}

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

最佳答案

这是我尝试过并且对我有用的技巧。

我已将计划 slug(slug 是一个唯一字符串)存储为订阅名称。
我们知道订阅表是由收银员自己管理的,所以我将计划名称 slug 存储为订阅名称。

在计划订阅期间:_

$user->newSubscription($plan->slug, $stripePlanId)->create($paymentMethod);

获取所有订阅的完整数量:
$subscriptions = Subscription::all();
$totalAmount = 0;

foreach($subscriptions as$subs){
$plan = Plans::where('slug', $subs->name)->first();
$totalAmount = $totalAmount + $plan->cost;
};
return response()->json([
'subscriptions' => $subscriptions,
'totalAmount' => $totalAmount
], $this->successStatus);

关于laravel-5 - Laravel 收银员列出所有发票和总计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44103634/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com