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
Posting Komentar