Saya memiliki tabel yang berisi, di antara kolom lain, kolom versi browser. Dan saya hanya ingin tahu dari kumpulan rekor, berapa banyak dari setiap jenis browser yang ada. Jadi, saya harus mengakhiri dengan sesuatu seperti ini: Total Records: 10; Internet Explorer 8: 2; Krom 25: 4; Firefox 20: 4. (Semua menambahkan hingga 10)
Ini dua pence saya:
$user_info = Usermeta::groupBy('browser')->get();
Tentu saja itu hanya berisi 3 browser dan bukan nomor masing-masing. Bagaimana saya bisa melakukan ini?
DB::table('usermetas')->..
lebihUsermeta::..
?Ini berfungsi untuk saya (Laravel 5.1):
sumber
Terima kasih Antonio,
Saya baru saja menambahkan
lists
perintah di bagian akhir sehingga hanya akan mengembalikan satu array dengan kunci dan hitungan:sumber
list()
tidak digunakan lagi dan diganti namanya menjadipluck()
laravel.com/docs/5.2/upgrade#upgrade-5.2.0Jika Anda ingin mendapatkan collection, groupBy dan count:
Bersulang!
sumber
Bekerja seperti itu juga, sedikit lebih rapi.
getQuery()
hanya mengembalikan pembuat yang mendasari, yang sudah berisi referensi tabel.sumber
config/database.php
strict
kunci di dalammysql
pengaturan koneksifalse
sumber
Coba dengan ini
sumber
Berikut adalah cara yang lebih Laravel untuk menangani grup tanpa perlu menggunakan pernyataan mentah.
sumber
Jika Anda ingin mendapatkan data yang diurutkan, gunakan ini juga
sumber
Ini adalah contoh hasil hitungan posting berdasarkan kategori.
sumber