Mam tabelę zawierającą, między innymi, kolumnę wersji przeglądarek. Chcę po prostu dowiedzieć się z zestawu rekordów, ile jest przeglądarek każdego typu. Więc muszę skończyć z czymś takim: Total Records: 10; Internet Explorer 8: 2; Chrome 25: 4; Firefox 20: 4 (wszystko w sumie do 10)
Oto moje dwa pensy:
$user_info = Usermeta::groupBy('browser')->get();
Oczywiście zawiera tylko 3 przeglądarki, a nie ich liczbę. W jaki sposób mogę to zrobić?
DB::table('usermetas')->..
nadUsermeta::..
?To działa dla mnie (Laravel 5.1):
źródło
Dzięki Antonio,
Właśnie dodałem
lists
polecenie na końcu, więc zwróci tylko jedną tablicę z kluczem i liczbą:źródło
list()
jest przestarzały i zmieniono jego nazwę napluck()
laravel.com/docs/5.2/upgrade#upgrade-5.2.0Jeśli chcesz otrzymać kolekcję, grupuj i policz:
Twoje zdrowie!
źródło
Działa również w ten sposób, trochę bardziej uporządkowany.
getQuery()
po prostu zwraca bazowy konstruktor, który już zawiera odwołanie do tabeli.źródło
config/database.php
strict
klucz wmysql
ustawieniach połączeniafalse
źródło
Spróbuj z tym
źródło
Oto bardziej Laravelowy sposób obsługi grupowania bez potrzeby używania surowych instrukcji.
źródło
Jeśli chcesz uzyskać posortowane dane, użyj tego również
źródło
To jest przykład, w którym wyniki liczą posty według kategorii.
źródło