【发布时间】:2022-01-18 00:58:23
【问题描述】:
我打算使用 get() 方法从 orderDetail 表中提取所有具有相同订单 ID 的行,并循环将税列的所有值添加到 $total_ 变量。然后我打算将 $total_ 添加到卖家余额中。
我想获取列中使用相同 order_id 提取的税值的总和。我尝试使用 sum() 但似乎仍然存在错误。唯一有效的是当我使用 first() 时,它只得到我的条件为真的第一行。但这样一来,我只能使用一个税值。在某些情况下,我有两个具有相同 order_id 的商品(当我们在购物车中有不同的产品时)。它们以相同的 order_id 进入数据库。所以,我现在正在寻找一种方法来提取具有相同 order_id 的所有行,然后获取 tax 列的总和。
if ($request->status == 'cancelled' && $order->payment_status == 'paid') {
$commissionHistoriesnow = \App\Models\CommissionHistory::where('order_id', $request->order_id)->get();
$total__ = 0;
foreach ($commissionHistoriesnow as $key => $commissionHistorynow) {
if($commissionHistorynow->admin_commission != null) {
$total__ += $commissionHistorynow->admin_commission;
}
}
$seller = Seller::where('user_id', $commissionHistoriesnow->seller_id)->first();
$seller->admin_to_pay += $total__;
$seller->save();
}
【问题讨论】:
-
您需要什么帮助?这不起作用吗? ...而且您似乎只想获得一列的“总和”
-
是的,我想获取列中使用相同 order_id 提取的税值的总和。我尝试使用 sum() 但似乎仍然存在错误。唯一有效的是当我使用 first() 时,它只得到我的条件为真的第一行。但那样的话,我只能使用一个税值......在某些情况下,我有两个具有相同 order_id 的商品(当我们在购物车中有不同的产品时)。它们以相同的 order_id 进入数据库。所以,我现在正在寻找一种方法来提取具有相同 order_id 的所有行,然后获取 tax 列的总和。谢谢...
-
$total = CommissionHistory::where('order_id', $request->order_id)->sum('admin_commission') -
@lagbox。这无缝地工作。它不仅解决了问题,而且重构非常出色。谢谢楼主!
-
@lagbox。请将建议的解决方案复制到答案部分,以便我将其作为最佳答案进行检查。再次感谢。