Laravel memiliki segudang kemudahan yang bisa di pakai oleh para web developer. Salah satunya adalah Eloquent relationship yaitu relasi antara table yang ada di dalam database. Jadi ini merupakan hubungan antar table.

Di laravel sendiri ada banyak tipe relationship

  • One To One
  • One To Many
  • Many To Many
  • Has One Through
  • Has Many Through
  • One To One (Polymorphic)
  • One To Many (Polymorphic)
  • Many To Many (Polymorphic)

Akan tetapi kita akan banyak sekali menggunakan 2 saja yaitu One to One dan One To Manny. Dengan 2 sitem ini kita akan sudah leluasa membuat relasi untuk table yang akan kita bikin.

Sebagai studi kasus, atau ilustrasi, semisal kita memiliki sebuah blog, maka disana akan memiliki beberapa table. Seperti table post, table categori, dan table comment. Di dalam lavel kita bisa membuat relasi untuk tiap tiap table ini agar proses kedepanya semakin mudah.

Ok langsung saja kita menuju ke kodingan kita, kita akan membuat model dan migrasi untuk project laravel kita.

 php artisan make:model  -m Category 
 php artisan make:model -m Post
 php artisan make:model -m Comment

Ingat Nama model itu singular, dan nama migration itu jamak
Setelah itu akan tergenerate file untuk model dan untuk migration yang letaknya pada folder App / Model untuk file model. Dan file migration pada folder database / migration

Untuk pembuatan file migrasi silahkan anda lihat pada bagian migrasi untuk mempelajari lebih jauh.

Untuk memberikan anda pemahaman lebih jauh tentang relationship, maka saya akan memberikan ilustrasi dengan gambar. Silahkan anda lihat beberapa penjelasan dibah ini

Contoh1 Relationship Laravel

Kita memiliki memiliki 2 table yaitu categori dan post. dan didalam gambar di berikan relationship dengan hasManny dan belongsTo. Apa itu hasMany dan belongstTo

hasManny : adalah hubungan antara 1 ke banyak. dalam kasus diatas , maka 1 ketegori memiliki banyak post

belongsTo : adalah hubungan antara 1 ke 1 dalam kasus diatas , maka 1 post memiliki 1 kategori

Contoh2 Relationship Laravel

belongsTo : adalah hubungan antara 1 ke 1 dalam kasus diatas , maka 1 post memiliki 1 user

hasManny : adalah hubungan antara 1 ke banyak. dalam kasus diatas , maka 1 user memiliki banyak post

Contoh3 Relationship Laravel

  • satu post memiliki banyak comment / hasManny
  • sebuah comment hanya dimiliki satu post / belongsTo
  • Satu Comment hanya dimiliki satu user / belongsTo
  • Satu user memiliki banyak Comments / hasManny

Kami harap dengan ilustrasi diatas anda sudah memiliki gambaran, dan bahkan sudah faham mengenai relationship yang ada pada laravel. Kita buka pada foder models, dan kita buka pada post model

Tambahkan yang di blok merah pada file anda. Itu penerapan relationship antara categori dan post. Dengan arti bahwa satu post memiliki 1 categori.

Apakah sampai sini anda sudah faham mengenai relationship. Untuk lebih jelas nanti kita bahas tersendiri full praktek agar anda lebi faham. Selamat Mencoba.