显示Laravel 5.2中慈善机构的总金额

时间:2016-07-18 00:52:32

标签: php group-by laravel-5.2

我有一个charity_donations表,其中包含charity_id,为该慈善机构捐赠的金额,以及其他领域。这就是它的外观。

Charity Donations Table

我需要做的是我需要将每个慈善机构ID分组,然后计算为该慈善机构捐赠多少钱。最重要的是,我需要在视图中显示它。

有些事情是这样的:

慈善机构ID |总

1 | $ 1,200个 ....

我试过了,

 $displayPerCharity = CharityDonation::select(DB::Raw('charity_id, COUNT(*) as              count'))->groupBy('charity_id')->get();

        dd($displayPerCharity);

计算慈善机构ID,然后给我每个慈善机构的总数。但我需要每个慈善机构的总金额,然后在视图中显示。

2 个答案:

答案 0 :(得分:0)

知道了!

$displayPerCharity = DB::table('charity_donations')
            ->select(DB::raw('SUM(amount) as charity_amount, charity_id'))
            ->groupBy('charity_id')
            ->orderBy('charity_amount', 'desc')
            ->get();

然后在视图中:

@foreach ($displayPerCharity as $group)
  <h1> Charity ID {{ $group->charity_id }} received {{ $group->charity_amount }}</h1>
@endforeach

答案 1 :(得分:0)

你如何展示它完全取决于你想要的样子。

如果您只是坚持如何获得每个慈善机构ID和金额,那么您可以使用foreach循环执行此操作。

以下是使用Bootstrap响应表的示例。这假设在运行查询后,您已将其作为名为$displayPerCharity的变量传递给视图。

<div class="table-responsive">
  <table class="table">
    <thead>
      <tr>
        <th>Charity ID</th>
        <th>Amount ($)</th>
      </tr>
    </thead>
    <tbody>
      @foreach($displayPerCharity as $display)
      <tr>
        <td>{{ $display->charity_id }}</td>
        <td>{{ $display->charity_amount }}</td>
      </tr>
      @endforeach
    </tbody>
  </table>
 </div>