Relationship pada Laravel | One to Many

Asslalamualaikum, wr. wb. semoga damai selalu menyertai kita semua.

sebelum anda membaca artikel ini pastikan anda sudah membaca artikel berikut :

Relationship pada Laravel | One to One

One to Many

Secara garis besar relasi one to many merupakan relasi yang digunakan dalam menghubungkan satu data ke banyak data. Misalnya dalam kasus ini seirang user dapat menjadi author dari banyak post, tapi setiap post hanya dapat memiliki satu user. Dapat dikatakan bahwa satu user mempunyai banyak post, dan satu post dimiliki oleh seorang user. berikut gambaran ERD nya :

one-to-many

sudah ada gambaran? okesip mari lanjut ke implementasi

Persiapan Model dan Migration

karena pada postingan sebelumnya kita telah memiliki data users, maka kita hanya perlu membuat model dan migration untuk post.

lalu kita masukkan field yang ada pada erd ke migration yang baru dibuat

lalu jalankan migration

setelah itu cek dan pastikan database sudah terisi dengan table tersebut.

Konfigurasi Model

Setelah table terbentuk, langkah selanjutnya adalah kita akan melakukan konfigurasi pada model yang kita buat.

tambahkan sintaks berikut pada app/User.php

sintaks tersebut digunakan untuk mengindikasikan bahwa user dapat mempunyai banyak post. Secara default laravel akan menghubungkan dua table dengan <nama_table>_id sebagai jembatannya. Jadi misal kita punya user dengan banyak post maka seharusnya kita tidak memmbuat field bernama author_id melainkan user_id. Namun hal itu dapat kita kustomasi dengan menambahkan field foreign key secara manual seperti pada contoh diatas. lihat dokumentasinya disini

lalu tambahkan sintak berikut pada app/Post.php

Pengisian data

langkah selanjutnya adalah kita akan coba membuat data dummy dengan seeder. mari kita buat seederbernama OneToOneSeeder

isi sebagai berikut :

lalu tambahkan sintaks di file seeds/DatabaseSeeder.php

lalu jalankan perintah

pastikan data sudah masuk kedalam database

Pemanggilan data

untuk pengaksesan data, disini kita akan menggunakan laravel tinker

lalu coba kita panggil post dengan author user1

mudah sekali bukan hehe.. yang perlu diperhatikan disini adalah data yang ditampilkan merupakan collection, jadi kita tidak bisa menggunakan dynamic properties seperti pada relasi one to one. untuk melihat detail post lebih jauh atau update data post anda harus melakukan looping terhadap hasil yang siberikan.

Selanjutnya kita akan mencoba menampilkan author dari sebuah post

sekian pembahasan RelationshipOne to Many pada Laravel ini. cheers and have a nice code 😀

Widi Hastomo

Hai, Nama saya Widi Hastomo. Saya adalah seorang software enginer yang punya passion di bidang web development. Saya sudah berada di dunia web development sejak tahun 2014 dan saat ini berdomisili di semarang, Jawa Tengah.

Relationship pada Laravel | One to Many