LARAVEL - RELATIONSHIP

 

Relationships

Dalam memanfaatkan database, dikenal ada relasi antar entity atau antar tabel. Penggunaan fitur ini pada database konvesional membutuhkan penggunaan perintah SQL yang relatif panjang dan juga membutuhkan penanganan dari program yang membutuhkan program yang rumit pula. Artikel ini membahas mengenai Relationship pada Eloquent yang memudahkan penggunaan database yang memiliki relationship.

Berikut adalah beberapa jenis relasi database yang dikenal pada umumnya dan telah diakomodasi oleh Laravel.

1.       Relasi one to one dimana sebuah data pada sebuah tabel hanya memiliki relasi ke sebuah data pada tabel yang lain. Misalnya, sebuah data tabel posts memiliki relasi 1 user_id di tabel users.

2.       Relasi one to many dimana sebuah data pada sebuah tabel memiliki relasi ke beberapa data pada tabel yang lain. Misalnya, sebuah data tabel posts memiliki relasi banyak data comment di comments. Atau dengan kata lain, 1 posts memiliki banyak data comment.

3.       Relasi many to one (One to many Inverse) dimana merupakan kebalikan dari relasi one to many. Misalnya kita ingin mengetahui data comment di comments memiliki post apa, maka relasi ini yang akan digunakan.

4.       Relasi many to many dimana banyak data pada sebuah tabel memiliki relasi ke banyak data juga pada tabel yang lainnya. Relasi tersebut terbentuk melalui sebuah tabel bantu.

Untuk kali ini kita akan coba membuat relasi antara posts dengan comments

 

Setelah itu akan terbuat 2 file baru

-          app\Models\Comments.php

-          database\migrations\2021_06_03_051907_create_comments_table.php

Pada file “database\migrations\2021_06_03_051907_create_comments_table.php” kita bisa tambahkan field yang kita inginkan , untuk contohnya seperti gambar dibawah ini




 

Setelah itu kita akan coba jalankan sintak di bawah pada terminal

Lalu kita coba rubah file models dari BlogPost dan Comments

Comments.php


 

BlogPost.php

Buka file resources\views\posts\show.blade.php kita tambahkan form untuk komentar dan list tempat yang nantinya diisi oleh list komentar

 

 Kurang lebih tampilannya akan seperti ini

Setelah itu kita coba buat controller baru untuk menyimpan data comments

Lalu jangan lupa buat request untuk memvalidasi Datanya

lalu tambahkan rules untuk CommentRequest

Lalu pada CommentsController yang telah dibuat kita buat fungsi store yang berisi seperti di bawah ini

Kita coba save dan refresh kembali pada browser, lalu kita coba masukan komentar kita

 

Komentar