Menuliskan perintah di terminal untuk membuat file seperti migrasi, model, atau controller satu per satu sering dilakukan oleh para programmer Laravel, terutama bagi mereka yang baru mulai belajar framework ini. Namun, cara tersebut bisa menjadi rumit jika terjadi kesalahan, seperti ketidaksesuaian nama tabel di migrasi dengan model. Selain itu, waktu pun menjadi kurang efektif karena harus mengetik perintah satu per satu di terminal. Di artikel kali ini, saya ingin berbagi beberapa trik mudah yang bisa kamu gunakan untuk membuat migrasi, model, dan controller secara bersamaan dengan satu perintah.
Satu perintah membuat migrasi, model dan controller secara bersamaan
Menggunakan satu perintah untuk membuat migrasi, model, dan controller sekaligus dapat menghemat waktu dan meminimalkan kesalahan. Trik ini sangat bermanfaat bagi kamu yang ingin bekerja lebih cepat dan efisien di Laravel. Adapun langkah yang harus dilakukan sangatlah mudah. Kamu dapat menuliskan perintah berikut pada terminal kamu :php artisan make:model NamaModel -mc
Pada perintah tersebut, terdapat opsi -mc
yang berarti migrasi dan controller. Dengan menuliskan perintah ini, kamu secara otomatis akan membuat model, migrasi, dan controller sekaligus berdasarkan nama model yang kamu tentukan. Misalnya, jika kamu menuliskan nama model “Siswa,” maka Laravel secara otomatis akan membuatkan file migrasi dengan nama 2024_09_05_123456_create_siswa_table.php
. Selain itu, Laravel juga akan membuat controller secara otomatis dengan nama SiswaController
berdasarkan model yang kamu buat.
Menggunakan opsi -mc
ini tidak hanya menghemat waktu tetapi juga memastikan konsistensi antara model, migrasi, dan controller yang kamu buat.
Membuat controller dengan resource bawaan
Ketika kamu membuat sebuah controller yang membutuhkan fungsi CRUD (Create, Read, Update, Delete) secara keseluruhan atau sebagian besar, menuliskan nama fungsinya secara manual bisa menjadi tugas yang melelahkan. Laravel memiliki solusi praktis untuk ini, yaitu dengan menggunakan resource controller. Kamu dapat menuliskan pada terminal projek kamu sebaris perintah sebagai berikut :php artisan make:controller NamaController -r
Pada perintah tersebut, terdapat opsi -r
yang merupakan singkatan dari --resource
. Dengan menggunakan opsi ini, Laravel secara otomatis akan membuatkan sebuah controller dengan fungsi-fungsi CRUD bawaan seperti index()
, create()
, store()
, edit()
, update()
, dan destroy()
. Hal ini sangat memudahkan dalam pembuatan fitur yang membutuhkan sistem CRUD (Create, Read, Update, Delete).
Manfaat lain dari menggunakan resource bawaan ini adalah integrasinya yang seamless dengan route. Ketika kamu membuat sebuah route untuk controller yang menggunakan resource, kamu tidak perlu repot menuliskan Route::get
, Route::post
, dan sebagainya secara manual. Laravel akan secara otomatis menghubungkan setiap metode di controller dengan route yang sesuai. Misalnya, kamu telah memiliki sebuah controller dengan nama SiswaController. Setelah itu, kamu dapat menuliskan Route::resource('siswa', SiswaController::class);
pada route/web.php
kamu. Dengan menggunakan Route::resource
, kamu tidak perlu menuliskan Route::get
, Route::post
dan sebagainya pada route/web.php
kamu. Untuk membuat controller dengan resource nya sekaligus pada perintah membuat model, migrasi dan controller sekaligus, kamu dapat menambahkan r
setelah -mc
seperti berikut :php artisan make:model NamaModel -mcr
Melakukan migrasi dengan seeder sekaligus
Kamu memiliki data seeder di proyek kamu dan ingin memprosesnya sekaligus ketika melakukan migrasi, baik saat menggunakan migrate
maupun migrate:fresh
. Biasanya, setelah melakukan migrasi, kamu perlu menjalankan perintah db:seed
secara terpisah untuk memasukkan data awal ke dalam tabel-tabel yang baru saja dibuat. Namun, ada cara yang lebih efisien untuk menggabungkan kedua langkah ini agar proses migrasi dan seeding dapat dilakukan sekaligus.
Laravel menyediakan opsi sederhana untuk menjalankan seeder secara otomatis setelah migrasi. Caranya adalah dengan menggunakan--seed
saat menjalankan perintah migrate
ataupun perintah migrate:fresh
. Berikut adalah cara melakukannya : php artisan migrate --seed
php artisan migrate:fresh --seed
Dengan menggunakan preintah ini, kamu dapat melakukan migrasi sekaligus dengan data seeder sehingga proses menjadi lebih singkat.
Dengan ketiga trik ini, kamu akan mendapatkan pengalaman membuat proyek menjadi lebih efisien, singkat, mudah, dan nyaman. Tertarik untuk mencoba ketiga trik ini? Selamat Mencoba!