2016-07-18 6 views
2

Ich habe eine Charity_Donations-Tabelle, die unter anderem eine charity_id, gespendet Betrag für diese Wohltätigkeitsorganisation enthält. So sieht es aus.Anzeige Gesamtbetrag für eine Wohltätigkeit in Laravel 5.2

Charity Donations Table

Was ich tun müssen, ist, ich brauche jede Charity-ID GROUPBY, dann zählen, wie viel Geld für diese bestimmte wohltätige Zwecke gespendet wurde. Und vor allem muss ich das in einer Ansicht anzeigen.

Manche Dinge wie folgt aus:

Charity ID | Gesamt

1 | $ 1.200 ....

ich dies versucht haben,

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

     dd($displayPerCharity); 

, dass die Charity-IDs zählt, gibt mir dann die Summe für jede Liebe. Aber ich brauche den Gesamtbetrag für jede Wohltätigkeitsorganisation und zeige sie dann im Blick.

Antwort

0

Verstanden!

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

Dann im Blick:

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

Nun, wie Sie zeigen es ist völlig bis zu wie Sie es wollen suchen.

Wenn Sie nur stecken, wie Sie jede Charity-ID und Betrag erhalten, dann können Sie dies mit einer foreach Schleife tun.

Hier ist ein Beispiel mit einer bootstrap reaktionsfähigen Tabelle. Dies setzt voraus, dass Sie nach dem Ausführen Ihrer Abfrage diese als Variable mit der Bezeichnung $displayPerCharity an die Ansicht übergeben haben.

<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> 
+0

Ja, das funktioniert. Vielen Dank! Ich dachte, es wäre komplizierter als das. lol – David