Post

Laravel and Vuejs #2

Pada article sebelumnya kita sudah sampai pada membuat model Signature beserta migrationnya, dan melakukan database migration untuk table signatures. Maka untuk proses selanjutnya, kita akan menambahkan beberapa code pada model Signature, membuat API route, serta membuat API Controller.

Baiklah, pertama - tama kembali pada text editor anda dan menuju pada directory App lalu buka file Signature.php. Kemudian, tambahkan code seperti pada gambar.

Fillable Field in DB

Yang kita lakukan disini adalah menentukan fillable field dari table signatures pada database. Selanjutnya kita membutuhkan beberapa data dummy untuk mengisi database kita. Maka dari itu kita akan menggunakan Laravel Model Factory dan Faker untuk mengisi database dengan data fake yang sesuai dengan field pada table.

Sekarang kembali ke command prompt, pastika active directory pada "bukutamu" dan lakukan perintah " php artisan make:factory SignatureFactory ". Setelah berhasil, kembali ke text editor dan buka directory database/factories dan buka file SignatureFactory.php yang telah kita buat tadi. Tambahkan code seperti pada gambar.

Signature Factory

Kemudian, kembali ke command prompt dan ketik perintah " php artisan tinker " yang dilanjutkan dengan perintah " Factory(App\Signature::class, 100)->create(); ". App\Signature::class merujuk pada model Signature yang telah kita buat, dan nominal 100 merupakan jumlah total data dummy yang akan dibuat. Setelah selesai, maka dapat kita lihat di database pada table signatures telah terisi 100 data dummy.

Selanjutnya, yang akan kita lakukan adalah membuat route API agar data dapat diakses dari Front End. Kembali ke text editor, arahkan pada directory routes, lalu buka file api.php. Tambahkan code seperti pada gambar.

defining api routes

Dapat dilihat pada gambar tersebut, dimana route yang kita buat mengarah pada controller tertentu dengan method - method nya. Maka dari itu kita lanjutkan untuk membuat API Controller, dimulai dari SignatureController. Kembali ke command promt dan seperti biasa pastikan active directory sudah pada "bukutamu", kemudian ketik perintah " php artisan make:controller Api/SignatureController ". Dapat dilihat bahwa kita mengarahkan SignatureController pada directory Api di dalam directory Controllers guna memisahkan api controller dengan controller non api, karena bila tidak diarahkan ke directory Api maka secara default controller yang kita buat akan berada didalam directory Controllers saja. Directory Controllers sendiri terdapat pada App/Http.

Setelah berhasil membuat SignatureController, kembali pada text editor dan buka file SignatureController.php yang berada pada directory App/Http/Controllers/Api. Tambahkan code seperti pada gambar.

Signature Controller Imported Class

Lalu tambahkan method - method seperti pada gambar berikut.

Signature Controller Method

Dapat dilihat pada gambar, method - method yang kita buat telah disesuaikan dengan apa yang telah kita deklarasikan di API Route yaitu, index, store, dan show. Pada gambar tepatnya Line 15, terdapat scope bernama ignoreFlagged. Scope tersebut akan digunakan untuk filterisasi data yang memiliki status flagged_at pada table signatures di database. Maka dari itu kita akan membuat Scope tersebut. Tetap pada text editor lalu buka model Signature kembali atau tepatnya pada App lalu buka file Signature.php dan tambahkan code sebagai berikut.

Scope IgnoredFlagg

Sampai disini kita sudah mempelajari bagaimana membuat factory, controller, dan scope pada laravel dan menggunakan laravel tinker, serta data Faker. Untuk proses selanjutnya akan saya lanjutkan pada article selanjutnya mengingat prosesnya yang cukup panjang. Sekian yang dapat saya sampaikan, selebihnya saya ucapkan terimakasih.