Langsung ke konten utama

RESOURCE RELATIONSHIP LARAVEL

 

RESOURCE RELATIONSHIP

 

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.

Pertama kita tambah kan kode untuk menghubungkan antara model user dan model post dengan relasi on to many.

 

public functon post(){
    return $this->hasMany(Post::class, 'user_id');
}

Lalu tambahkan kode ini pada model post,

public functon user(){
    return $this->belongsTo(User::class, 'user_id');
}

Lalu buka post controller untuk user reader pada folder App\Http\Controllers\Publics\PostController.php, kemudian modifikasi response di controller dengan menambahkan method with(), lalu kita modifikasi terlebih dahulu function index.

 

Lalu akses endpoint http://localhost:8000/public/posts?page=1 maka respon akan menjadi seperti berikut.

 

Tampilannya akan menampilkan detail dari user. Sekarang kita coba akses endpoint nya untuk setiap id

Implementasi Fitur Comment

Selanjutnya kita akan mengimplementasikan fitur comment. Yaitu user bisa memberikan komentar pada salah satu post. Untuk mengimplementasikan fitur ini dibutuhkan 2 endpoint yaitu.

  • Endpoint untuk create comment
  • Endpoint untuk get comment based on post. List komentar nya harus
    mengandung object user

Sekarang kita buat relasi antara model post dengan model comment dengan menambahkan kode berikut.

 

Selanjutnya kita akan lakuan sama seperti sebelumnya yaitu menambahkan method with pada controller post.

Lalu kita create terlebih dahulu data comment nya seperti berikut.


 

Lakukan test di postman dengan memasukkan http://localhost:8000/public/posts.

 

Selesai.

Komentar

Postingan populer dari blog ini

Membuat Lumen Uplod Media

Membuat Lumen Uplod Media Pada tutorial ini kita akan membahas mengenai upload media dan upload video kedalam tabel posts. Fitur upload Image di Post Untuk mengimplementasikan fitur upload image kita harus menambahkan satu field ke tabel posts. Caranya ketik di command Prompt /CMD : php artisan make:migration add_image_to_posts_table Selanjutnya buka filenya di Database/Migration/.. , dan tambahkan kode berikut: Selanjutnya ketik di command Prompt /CMD : php artisan migrate Dengan begitu sudah bertamah satu kolom/field di table posts. Selanjutnya buka file App/Http/Controllers/PostsController.php dan tambahkan kode berikut di function store : Silakan test di postman store dan isi form datany, dan jika berhasil maka responnya seperti ini. Fitur get image Post Pertama tambahkan kode di routes/web.php Selanjutnya tambahkan method baru "image" di App/Http/Controllers/PostsController.php. Kemudian lakukan test di postman get dengan parameter image name sesuai dengan nama image yan...

MEMBUAT PHP LUMEN API DOKUMENTATION

Membuat PHP Lumen Api Documentation  Mempersiapkan Docs Generator Untuk membuat docs generator kita akan menggunakan swagger-ui (  https://swagger.io/tools/swagger-ui/  ). Untuk membuatnya, silahkan ikuti langkah-langkah dibawah ini: Install swagger-php plugins di projek lumen-service kalian. Pada terminal/CommandPrompt ketik command dibawah ini. composer require zircote/swagger-php Jika sudah selesai selanjutnya buat artisan command file. Buat file di app/Console/Commands/SwaggerDocScanner.php. Lalu masukan kode di bawah ini. Buka file app/Console/Kernel.php, tambahkan code dibawah ini. Untuk menjalankan artisan command SwaggerDocScanner dan menggenerate docs, pada terminal/CommandPrompt jalankan command dibawah. Command ini akan membuat file public/swaggerdoc.json. Saat ini kalau dijalankan, command ini bakal error, karena kita belum mendefiniskan anotasi docs nya. php artisan swaggerdoc:scan Untuk tampilan User Interface nya kita perlu mebuat file html di public folder...

Apa itu interopabilitas

Interoperabilitas Adalah : Karakteristik, Kelebihan dan Kekurangannya Interoperabilitas adalah dimana suatu aplikasi bisa berinteraksi dengan aplikasi lainnya melalui suatu protokol yang disetujui bersama lewat bermacam-macam jalur komunikasi, biasanya lewat network TCP/IP dan protokol HTTP dengan memanfaatkan file XML. Aplikasi dapat ditempatkan pada platform yang berbeda: Delphi Win32, NET, Java atau bahkan pada sistem operasi yang berbeda. Kata “interoperabilitas” terdiri dari 3 kata, yaitu: “inter” yg artinya antar (beberapa hal), “operate” yg artinya bekerja, dan “ability” yg artinya kemampuan/kebisaan. Ketika digabungkan menjadi “interoperabilitas”, ini secara kasar berarti “kemampuan untuk bekerja di antara banyak hal” atau terjemahan gratis tentang “kemampuan untuk bekerja bersama di antara banyak hal”. Interoperabilitas merupakan kemampuan berbagai ragam sistem untuk bekerja sama dan kemampuan sebuah sistem untuk bekerja atau digunakan oleh sistem lain (Merriam Webster). Inter...