Belajar Laravel : Apa itu Has Many Through Relationships? Pada Laravel 5.3 untuk pemula

Hallo teman-teman ONPHPID, di artikel Many To Many Eloquent Relationships Pada Laravel 5.3 Untuk Pemula sebelumnya, kita sudah belajar tentang suatu hubungan relasi Many To Many. Jika belum mengikuti artikel sebelumnya bisa membacanya terlebih dulu, agar dapat mngikuti tutorial pada artikel ini. Pada tutorial kali ini, ONPHPID akan menjelaskan salah satu hubungan yang mungkin teman-teman belum mendengarnya. ONPHPID pun baru tahu di Framework Laravel, yaitu Has Many Through Relationships.

Apa itu Has Many Through Relationships ?

Pada dokumentasi Laravel 5.3 disebutkan bahwa Has Many Through merupakan relasi yang dapat dijadikan jalan pintas atau shortcut untuk mengakses data dari tabel lain, namun dilakukan dengan pendekatan dari tabel lain atau tabel yang dapat menghubungkan data tersebut. Sebagai contoh, ONPHPID akan memberi gambaran sebagai berikut :

dari plan tabel di atas, tabel kendaraans tidak ada hubungan relasi dengan tabel kotas (baca:kota) tapi kita dapat mendapatkan semua data kendaraan yang ada di kota A misalnya. Lalu bagaimana caranya? yaitu dengan memanfaatkan tabel users yang berelasi dengan tabel kendaraans. Mari kita coba agar tidak berangan-angan. O iya, jika teman-teman sudah mengikuti tutorial ini dari awal, pastinya sudah memiliki tabel tersebut kecuali tabel kotas. Karena tabel tersebut baru akan kita buat pada tutorial kali ini.

Buka dulu projectnya masing-masing, lalu buat satu buah Model dengan nama Kota sekaligus file migrations-nya dengan perintah di bawah ini :

jika sudah buat agar model Kota menjadi seperti di bawah ini :

Kota.php

kemudian tambahkan pada method up() di file migrations yang baru kita buat jadi seperti di bawah ini :

setelah itu kita buat satu file migrations untuk menambah kolom foreign pada tabel users, karena tabel kotas dan users belum berelasi, dengan perintah artisan berikut :

kemudian buat method up() menjadi seperti di bawah ini :

setelah itu kita buat satu buah file seeder dengan nama KotaSeeder.php dengan menggunakan perintah artisan di bawah ini :

buat menjadi seperti di bawah ini :

karena kita pernah melakukan seeder pada tutorial sebelumnya, maka kita perlu mengubah data users. Jadi buka file UserTableSeeder.php dan ubah menjadi seperti di bawah ini :

ubah juga file DatabaseSeeder.php menjadi seperti di bawah ini, perhatikan urutannya agar tidak terjadi error ketika kita melakukan seeder :

jika sudah, silakan kalian tutup semua filenya, karena sudah banyak file yang kita buka. Setelah itu kita perlu menambahkan route baru di web.php seperti ini :

kita akan menampilkan data semua kendaraan yang ada di kota Magetan dengan parameter id dari tabel kota. Setelah itu tambahkan satu method di BelajarController.php seperti di bawah ini :

jika sudah mari kita buat satu view baru dengan nama has_many_through.blade.php dan tambahkan code di bawah ini :

jika semua sudah, akhirnya kita selesai.

Masih ingat kan apa yang harus kita lakukan? Iya.. benar kita perlu melakukan migrate dan seeder. Namun sebelum migrate sebaiknya kita rollback dulu semua tabel yang pernah kita migrate, karena kita melakukan perubahan pada tabel users. Ketikan perintah sebagai berikut :

kemudian

terakhir

jika berhasil maka akan tampak seperti gambar di bawah ini :

setelah itu kita cek di browser apakah kita berhasil menampilkan semua kendaraan yang berada di kota Magetan, dengan mengakses localhost:8000/has-many-through. Jika tidak ada kesalahan maka akan tampil seperti gambar di bawah ini :

Alhamdulillah kita sudah belajar tentang Has Many Trough. Jika belum paham dapat membaca secara langsung dokumentasi laravel di sini.

Baca Juga : Many To Many Eloquent Relationships Pada Laravel 5.3 Untuk Pemula

Sekian dulu tutorial Belajar Laravel : Apa itu Has Many Through Relationships? Pada Laravel 5.3 untuk pemula. Jika ada hal yang kurang jelas atau ingin ditanyakan dapat melalui komentar. JANGAN LUPA like FANSPAGE ONPHPID untuk update informasi dan Subscribe Channel ONPHPID Tutorial. Selamat Belajar…

Adblocker Detected : Dukung ONPHPID dengan menonaktifkan Adblock-mu (^_^) Terima Kasih.