【问题标题】:How to display the sum of amount with between two given dates with groupwise, in Laravel?如何在 Laravel 中按分组显示两个给定日期之间的金额总和?
【发布时间】:2018-08-20 09:10:17
【问题描述】:

我想显示客户姓名及其在特定日期之间支付的所有账单的总和。我还想要两个给定日期之间的整个客户列表以及他们的总账单。

在列表中我想要的是第一个客户名称,然后是所有账单总额的总和。

我为此尝试了许多选项,其中我得到了该账单的总和,只有每张账单单独出现,而我想按客户分组。

原始查询在 phpMyAdmin 中工作,但我未能将其转换为 Laravel Eloquent。我想使用 Eloquent 使这个原始查询工作。

查询:

select customer_id,sum(total),sum(totalcgst),sum(totalsgst),
sum(totaligst) from sales where
date BETWEEN '2018-03-01' and '2018-03-31'
group by customer_id

This is the result I am getting in database

【问题讨论】:

  • 你用 laravel elequent 试过了吗?你这样做有什么问题?
  • 另外,你们有模特吗?这些模型是否设置了关系?
  • DB::table($request -> get('reporttype'))->select('*') ->from($request -> get('reporttype')) ->whereBetween('date', array($request -> input('fromdate') ,$request -> input('todate'))) ->get(); 这是我创建的 laravel 查询,但是在其中添加 groupBy 子句后我收到错误。
  • 请阅读Under what circumstances may I add “urgent” or other similar phrases to my question, in order to obtain faster answers? - 总结是这不是解决志愿者的理想方式,并且可能会适得其反。请不要将此添加到您的问题中。

标签: sql laravel query-builder


【解决方案1】:

试试这个:

ORM_NAME::selectRaw('customer_id, sum(total), sum(totalcgst), sum(totalsgst)')->whereBetween('date', ['2018-03-01', '2018-03-01'])->groupBy('customer_id)->get();

【讨论】:

  • 它给了我该特定客户的唯一一个账单细节,而不是他支付的所有其他账单总额......
  • 谢谢哥们,我只是在日期上做了一些更改,这就是为什么它给了我错误的结果,但现在在修复它的工作后谢谢。
  • 不客气 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-01-23
  • 1970-01-01
  • 2021-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多