Ich habe eine Tabelle, die unter anderem eine Spalte mit Browserversionen enthält. Und ich möchte einfach aus dem Datensatz wissen, wie viele von jedem Browsertyp es gibt. Also muss ich am Ende so etwas haben: Total Records: 10; Internet Explorer 8: 2; Chrome 25: 4; Firefox 20: 4. (Alles zusammen 10)
Hier sind meine zwei Pence:
$user_info = Usermeta::groupBy('browser')->get();
Das enthält natürlich nur die 3 Browser und nicht die Nummer von jedem. Wie kann ich das machen?
DB::table('usermetas')->..
überUsermeta::..
?Das funktioniert bei mir (Laravel 5.1):
quelle
Danke Antonio,
Ich habe gerade den
lists
Befehl am Ende hinzugefügt, damit nur ein Array mit Schlüssel und Anzahl zurückgegeben wird:quelle
list()
ist veraltet und wird inpluck()
laravel.com/docs/5.2/upgrade#upgrade-5.2.0Wenn Sie eine Sammlung erhalten möchten, gruppieren Sie und zählen Sie:
Prost!
quelle
Funktioniert auch so, etwas ordentlicher.
getQuery()
Gibt nur den zugrunde liegenden Builder zurück, der bereits die Tabellenreferenz enthält.quelle
config/database.php
strict
Schlüssel in denmysql
Verbindungseinstellungenfalse
quelle
Versuchen Sie es damit
quelle
Hier finden Sie eine Laravel-Methode zum Behandeln von Gruppen, ohne dass rohe Anweisungen verwendet werden müssen.
quelle
Wenn Sie sortierte Daten erhalten möchten, verwenden Sie diese ebenfalls
quelle
Dies ist ein Beispiel, bei dem die Anzahl der Beiträge nach Kategorien ermittelt wird.
quelle