Cara Menghitung Jumlah Data Relationship

Cara Menghitung Jumlah Data Relationship di Laravel

Dipublikasikan 1 April 2021 6:00 AM

Bagaimana 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 ]

susantokun avatar
susantokun
Hanya seorang programmer yang fokus di bidang web development. Tidak nyaman dengan keramaian dan suka akan keindahan.
Kebijakan Berkomentar :
1. Dilarang berkomentar yang mengandung SPAM, SARA, HOAX, PORNO.2. Mohon sertakan informasi detail saat terjadi error (pesan error, sreenshoot, code, logs, dsb.).