【发布时间】:2020-04-18 23:17:33
【问题描述】:
数据库结构:
表: sales_payments
列: id, payer_id, payment_status, amount , ...
请看这个雄辩的询问。它工作正常,但现在我需要金额键的总和以及这个给定的雄辩查询和 where 条件。
$query = SalesPayment::with(['abc.xyz'])
->whereHas('abc.xyz', function ($query) use ($options) {
$query->where('xyz_id',$options['xyz_id']);
});
$query->where(['key3' => key3(), 'payment_status' => PAYMENT_STATUS_SUCCESS]);
$query->orderBy('created_at', 'desc');
return $query->paginate(config('constants.PAGE_LIMIT'));
可能的解决方案
只需按如下所述进行选择
$query = SalesPayment::select('*', \DB::raw('SUM(amount) AS total_sale_amount')->with ....
我已经测试过这个解决方案,它工作正常。
如果有比这更好的解决方案,请告诉我。我也在寻找其他一些解决方案。
编辑:但是这个解决方案有一个问题,当我将聚合函数(sum)放入 select 时它只返回一条记录,否则它返回多条记录。
【问题讨论】:
-
是的!这是完美的
-
@YasinPatel 但是这个解决方案有一个问题,当我将聚合函数(sum)放入 select 时它只返回一条记录,否则它返回多条记录。
-
看起来不错。您可以获得该列的表格总和以及表格记录
标签: laravel laravel-5 eloquent laravel-4