Mencara data terbanyak pada table di laravel

Selamat malam agan agan sekolah koding.. disini saya kebingungan nih tentang koding laravel untuk mencari jumlah data terbanyak di table,

misalkan saya ada tabel portofolio dan tabel user , nah saya mau ambil data user yang mempunyai portofolio terbanyak pada tabel portofolio. terimakasih sebelumnya gan :D

avatar dacevezaq
@dacevezaq

57 Kontribusi 5 Poin

Diperbarui 6 tahun yang lalu

5 Jawaban:

coba di share table nya ndan... biasanya si tinggal di count terus di group by id_user tapi itu tergantung bentuk table nya

avatar damard
@damard

63 Kontribusi 36 Poin

Dipost 6 tahun yang lalu

gini gan misal : table user { id, nama, }

table portofolio{ id, user_id (FK dari user) }

nah jadi pingin buat kyk sistem ranking user yang mempunyai portofolio terbanyak gan , kalau di query biasa pakai TOP 1 kalau tidak salah , nah di laravel saya bingung gan di dokumentasinya juga tidak nemu :")

avatar dacevezaq
@dacevezaq

57 Kontribusi 5 Poin

Dipost 6 tahun yang lalu

bisa gunakan right join gan yang dari tabel user ke table portofolio left -> right

terus pake group by dan order by

tapi untuk elequent ORM nya saya tidak tau.. pake query builder aja

avatar sukmaw
@sukmaw

340 Kontribusi 75 Poin

Dipost 6 tahun yang lalu

Jawaban Terpilih

query builder

SELECT user.nama, user.id, COUNT(DISTINCT portofolio.id) AS total FROM user LEFT JOIN portofolio ON portofolio.user_id = user.id GROUP BY user.id ORDER BY total DESC

eloquent ORM User.php = table user

User::select(['user.nama','user.id',DB::raw('COUNT(DISTINCT portofolio.id) AS total')->leftJoin('portofolio','portofolio.user_id','=','user.id')->groupBy('user.id')->orderBy('total','desc');

g tau bener atau salah, tpi di coba aja dulu.

avatar unhackme
@unhackme

27 Kontribusi 13 Poin

Dipost 6 tahun yang lalu

sudah terpecahkan gan , termiakasih banyak yang sudah membantu :)

avatar dacevezaq
@dacevezaq

57 Kontribusi 5 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban