
Cara Menghitung Jumlah Data Relationship di Laravel
Dipublikasikan 1 April 2021 6:00 AMBagaimana cara menghitung berapa jumlah data yang ada di tabel lain? Berapa jumlah data pada tabel A yang berada pada tabel B yang berelasi? Berikut adalah cara menghitung jumlah data relationship.
Kasus kali ini adalah menghitung jumlah data yang ada pada tabel lain dan tentunya saling berhubungan (berelasi). Jika Anda kesulitan untuk membaca tutorial pada website resmi laravel bagian Eloquent: Relationships, maka Anda bisa membaca tutorial pada website susantokun seperti pembahasan Tutorial Relationship Table di Laravel 8. Dalam kasus ini saya mempunyai relasi many-to-many dimana terdapat pivot table dengan nama band_genre.
Sebagai contoh, berikut adalah kasus yang saya miliki :
Data awal : Terdapat 2 tabel yaitu genres dan bands
Tujuan : Pada view genre ingin menampilkan berapa jumlah genre yang berada pada setiap data band.
Pada tabel genres : pop, dangdut, rock, metal
Pada tabel bands :
- Kangen Mantan -> pop, rock, metal
- Kerispatah -> dangdut, rock
- STeh 12 -> pop, rock, metal
Maka pada view genre akan seperti data berikut :
- pop : 2
- dangdut : 1
- rock : 3
- metal : 2
Cara Menghitung Jumlah Data Relationship
Terdapat 2 cara untuk menampilkan jumlah data yang diinginkan, pertama adalah dengan menyertakan method withCount pada controller, sedangkan cara yang kedua dengan memanggil field yang berelasi menggunakan pivot.
Cara Peratama
Buka app/Http/Controllers/GenreController.php dan tambahkan method withCount seperti pada kode berikut :
Genre::withCount('bands')->orderBy('name', 'asc')->paginate(10);
Maka pada view list genre cukup dengan memanggil properti dengan format [relasi]_count seperti pada kode berikut :
{{ $genre->bands_count }}
Cara Kedua
Lakukan langsung pada view yang ingin menampilkan jumlah data seperti pada kode berikut :
{{ $genre->bands->count('pivot.genre_id') }}
Itulah cara menghitung jumlah data relationship yang dapat saya sampaikan, semoga bermanfaat.
Artikel baru setiap awal bulan pada pukul 06.00 WIB, sedangkan vidio tutorial bisa dilihat pada pukul 20.00 WIB di hari artikel di publish. [ youtube ]
