Membuat Resource Relationship di Lumen Micro Framework #11



OK di tutorial ini kita akan membuat Relationship. Apa sih relationship? relationship disisni adalah hubungan antar entitas (dalam database sql kita menyebutnya table) dimana satu row pada table pertama terhubung dengan row pada table lain dan untuk menghubungkan kedua tabel tersebut kita perlu menggunakan primary dan foregn key.


Relationship memiliki 3 tipe diantaranya :


Relationship One to One

Relasi One to One adalah relasi yang mana setiap satu baris data pada tabel pertama hanya berhubungan dengan satu baris pada tabel kedua.


Relationship One to Many

Relasi One to Many adalah relasi yang mana setiap satu baris data pada tabel pertama berhubungan dengan lebih dari satu baris pada tabel kedua


Relationship Many to Many

Relasi Many to Many adalah relasi yang mana setiap lebih dari satu baris data dari tabel pertama berhubungan dengan lebih dari satu baris data pada tabel kedua.


Untuk bisa mengikuti artikel ini temen-temen haru mengerjakan terlebih dahulu project dari tutorial sebelum nya dengan nama Autorisasi Menggunakan Policies di Lumen Micro Framework #10


Authorization. Pada tutorial ini kita akan menambahkan fitur relationship antara model (tabel). utnuk langkah-langkanya kita ikuti tutorial berikut :



Membuat Endpoint dan Controller untuk Public User

Untuk public user yang bisa melakukan Read All dan Read Detail. Pertama agar bisa mengakomodir kebutuhan ini kita akan membuat routes (dua endpoint baru) dan controller baru (sebagai fungsi di route public user).

Untuk menambahkan fungsi public read all dan detail, mari kita ikuti langkah-langkah berikut ini:

1. Buka file routes/web.php, tambahkan code dibawah ini:


2. Buat file controller baru dengan nama dan disimpan di app/Http/Controllers/PublicController/PostsController.php, kemudian tambahkan code dibawah ini:


3. Buka file app/Models/Post.php, tambahkan code dibawah ini didalam class post :


4. Buka file app/Models/User.php, tambahkan code dibawah ini sebelum penutup Class:


5. Buka url http://localhost:8000/public/posts?page=1 di postman:




6. Buka url http://localhost:8000/public/post/2 di postman:





Tantangan

Untuk menambah keahlian kita, mari kita ikuti tantangan dibawah ini:

1. Implementasi fitur comment

2. User bisa memberikan komentar pada salah satu post

3. Jadi perlu menyediakan minimal 2 endpoint:

- Endpoint untuk create comment

- Endpoint untuk get comment based on post. List komentar nya harus

mengandung object user

4. Gunakan konsep relationship

 

0 komentar:

Posting Komentar