Belajar Laravel : Memahami One To One Relationships Pada Laravel 5.3 untuk pemula part-2

Hallo apa kabar teman-teman ONPHPID, baik bukan? Masih ingat kan sebelumnya kita sudah Belajar Laravel : Memahami One To One Relationships Pada Laravel 5.3 part 1. Pada tutorial sebelumnya kita sudah membuat Model Profile sekaligus migrations dan seedernya. Nah, kali ini kita akan menampilkan data dari kedua Model User dan Profile yang sudah kita buat pada tutorial sebelumnya. Namun sebelumnya kita harus mendefinisikan relasinya di Model Profile dan Model User. Bagaimana membuatnya? mari kita buka dulu project yang sudah kita buat.

Silakan buka Model User yang berada di app/ kemudian buatlah agar menjadi seperti di bawah ini :

dari code di atas kita sudah mendefinisikan relasi antara User dengan Profile yaitu hasOne, artinya satu User hanya akan memiliki satu Profile. Jika kita membuatnya seperti di atas, kita harus memiliki kolom tabel profiles yang menjadi foreign Key yaitu user_id. Namun jika kita menggunakan nama kolom dengan nama id_user, kita harus mendefinisikan relasinya seperti berikut :

karena Laravel akan berasumsi bahwa foreign key dari sebuah relasi adalah nama Model dengan tambahan _id. Jadi jika Modelnya User akan dianggap user_id. Kita juga dapat mendefinisikan relasi seperti di bawah ini :

jika sudah mari kita buka Model Profile, kita juga definisikan relasi untuk mengambil data User yang berelasi dengan Profile. Ubahlah Model Profile menjadi seperti di bawah ini :

sama seperti pada Model User, kita juga dapat mendefinisikan jika foreignKey table kita bukan user_id seperti ini :

atau jika primaryKey dari Model User bukan id, kita dapat mendefinisikannya seperti berikut :

jika sudah mari kita buat satu route di routes/web.php, kita akan menggunakan Controller yang sudah pernah kita buat yaitu BelajarController.php. Tambahkan route berikut pada file web.php :

dan tambahkan satu method di BelajarController.php seperti di bawah ini :

karena kita akan melempar data ke home/index maka kita buka file index.blade.php di dalam direktori home yang pernah kita buat, kemudian tambahkan code hingga hasilnya seperti di bawah ini :

apakah kalian melihat perbedaan? jika iya berarti kalian teliti. Dari code di atas terdapat baris seperti ini

bagian profile itulah yang kita definisikan di Model User di atas, mari kita check hasilnya di browser dengan mengakses url localhost:8000/one-to-one. Jika tidak ada kesalahan maka akan tampil seperti gambar di bawah ini :

sekarang kita akan mencoba relasi sebaliknya, yaitu dari Profile ke User. Maka tambahkan code berikut di web.php

kemudian kita tambahkan satu method di bawah ini di BelajarController.php

setelah itu ubah index2.blade.php yang pernah kita buat pada tutorial sebelumnya dan kita ubah hingga menjadi seperti ini

jika sudah kita check di browser dengan url localhost:8000/profile/onphpid, maka akan tampil data User sesuai nama yang kita akses pada url seperti gambar di bawah ini :

Alhamdulliah.. bagaimana teman-teman, berhasil kan? semoga kita menjadi lebih paham penggunaan Relasi One To One pada Laravel. Sengaja kita belajar pelan-pelan agar kita benar-benar bisa memahaminya. Pada tutorial selanjutnya kita akan belajar One To Many Relationships pada Laravel 5.3.

Baca Juga : Memahami One To One Relationships Pada Laravel 5.3 part-1

Sekian dulu tutorial Belajar Laravel : Memahami One To One Relationships Pada Laravel 5.3 untuk pemula part-2. 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.