2016-06-10 21 views
1

Ich habe die folgenden Daten in einer DatenbankErstellen einer Tabelle mit Gruppierung mit Laravel Klingen

salesperson_id | item  | value 
1     112   100 
1     199   100 
2     155   50 

dies als so in einem Array gespeichert wird

[ 
    { 
    "salesperson_id":"1", 
    "ITEM":"112", 
    "TOTAL":100 
    }, 
{ 
    "salesperson_id":"1", 
    "ITEM":"199", 
    "TOTAL":100 
}, 
{ 
    "salesperson_id":"2", 
    "ITEM":"155", 
    "TOTAL":50 
} 
] 

Laravel Klinge wie würde ich die Daten bekommen ähnliche anzeigen auf unter

|Sales Person - 1 | 
        | ITEM | value | 
        112  100 
        199  100 
             total £200 
| Sales Person 2 | 
        | ITEM | value | 
        155   50  
            total £50 

ich jede Zeile in einer Tabellenzeile drucken können, aber ich will es auf die oben groupi ändern Es wäre toll, wenn mir jemand in die richtige Richtung zeigen könnte, ich suche nicht nach dem Code, der für mich getan werden soll.

Antwort

1

Dies ist ein guter Anwendungsfall für Collection::groupBy

<table> 
    @foreach($data->groupBy('salesperson_id') as $salesperson) 
     <tr> 
      <td rowspan="{{ count($salesperson)+1 }}">{{ $salesperson[0]['salesperson_id] }}</td> 
      @foreach($salesperson as $item) 
       <td>{{ $item['ITEM'] }}</td> 
       <td>{{ $item['TOTAL'] }}</td> 
      @endforeach 
     </tr> 
     <tr> 
      <td colspan="2">Total: £ {{ $salesperson->sum('TOTAL') }}</td> 
     </tr> 
    @endforeach 
</table> 

Nur sicher machen $data zu Ihrer Ansicht als eine Sammlung übergeben wird und nicht als einfaches Array.

Verwandte Themen