Bagi developer Laravel, membuat fungsionalitas CRUD (Create, Read, Update, Delete) adalah pekerjaan yang berulang-ulang. Untuk setiap resource baru (seperti Posts, Products, atau Categories), kita harus membuat Model, Migration, Controller, dan Form Request. Proses ini, meskipun penting, memakan banyak waktu yang seharusnya bisa digunakan untuk fokus pada logika bisnis yang lebih kompleks.
Beruntungnya, ekosistem Laravel kaya akan package yang bisa mengotomatisasi tugas ini. Salah satu package yang sangat efisien untuk tugas ini adalah mrmarchone/laravel-auto-crud
.
Dalam tutorial ini, kita akan membahas cara cepat generate CRUD di Laravel secara otomatis, lengkap dengan API controllerdan koleksi Postman, hanya dengan beberapa perintah di terminal.
Apa Itu CRUD?
Secara singkat, CRUD adalah singkatan dari empat operasi dasar dalam manajemen database:
- Create: Menambahkan data baru.
- Read: Membaca atau menampilkan data.
- Update: Mengubah data yang sudah ada.
- Delete: Menghapus data.
Hampir setiap aplikasi web yang kita bangun memiliki operasi ini sebagai intinya.
Mengapa Perlu Otomatisasi Generate CRUD?
Bayangkan Anda harus membangun API untuk 10 model berbeda. Itu berarti Anda harus membuat:
- 10 file Controller (misalnya
UserController
,PostController
, dll.) - Setidaknya 20 file Form Request (misalnya
UserStoreRequest
,UserUpdateRequest
, dll.) - Mendefinisikan method
index
,show
,store
,update
, dandestroy
di setiap controller. - Menulis rules validasi di setiap request.
Pekerjaan ini sangat repetitif. Dengan otomatisasi, kita bisa memangkas waktu pengembangan dari berjam-jam menjadi hanya beberapa menit.
Tutorial Generate CRUD di Laravel dengan laravel-auto-crud
Kita akan menggunakan package mrmarchone/laravel-auto-crud
untuk melakukan semua pekerjaan berat ini. Pastikan Anda sudah memiliki proyek Laravel yang siap dan model yang ingin Anda gunakan (dalam contoh ini, kita asumsikan model User
sudah ada).
Langkah 1: Install Package
Buka terminal Anda di root proyek Laravel, dan jalankan perintah Composer berikut untuk menginstal package sebagai dependensi pengembangan (--dev
):
composer require mrmarchone/laravel-auto-crud --dev
Langkah 2: Publish File Konfigurasi (Opsional)
Langkah ini opsional, tetapi sangat disarankan agar Anda bisa mengubah template (stubs) yang digunakan oleh package ini.
Bash
php artisan vendor:publish --provider="Mrmarchone\LaravelAutoCrud\LaravelAutoCrudServiceProvider" --tag="auto-crud-config"
Perintah ini akan membuat file config/auto-crud.php
yang bisa Anda sesuaikan nanti.
Langkah 3: Eksekusi Perintah Generate CRUD
Ini adalah inti dari tutorial ini. Package ini bekerja dengan cara membaca Model yang sudah ada untuk menghasilkan file-file yang relevan.
Jalankan perintah berikut di terminal Anda:
Bash
php artisan auto-crud:generate -M User -T api --postman
Mari kita bedah perintah ajaib ini:
-
php artisan auto-crud:generate
: Ini adalah perintah utama dari package. -
-M User
: Opsi-M
(singkatan dari--model-name
) menentukan Model mana yang akan dijadikan dasar. Dalam hal ini, kita menggunakan modelUser
. Penting: ModelUser.php
harus sudah ada di dalam folderapp/Models
. -
-T api
: Opsi-T
(singkatan dari--type
) menentukan jenis output yang kita inginkan. Dengan memilihapi
, package ini akan generate CRUD di Laravel khusus untuk API. Ini berarti:- Controller yang dihasilkan akan berada di
app/Http/Controllers/Api
. - Controller akan menggunakan resource API (tanpa method
create
danedit
yang biasanya untuk Blade view). - Routes akan otomatis ditambahkan ke
routes/api.php
.
- Controller yang dihasilkan akan berada di
-
--postman
: Ini adalah fitur bonus yang luar biasa. Perintah ini juga akan membuatkan file koleksi Postman (.json
) di root proyek Anda, lengkap dengan request body untuk endpointstore
danupdate
berdasarkan kolom fillable di Model Anda.

Apa Saja yang Dihasilkan?
Setelah menjalankan satu perintah di atas, package ini akan secara otomatis membuat file-file berikut untuk Anda:
-
API Controller:
app/Http/Controllers/Api/UserController.php
(Lengkap dengan methodindex
,store
,show
,update
,destroy
). -
Form Requests:
-
app/Http/Requests/UserStoreRequest.php
(Aturan validasi untuk create). -
app/Http/Requests/UserUpdateRequest.php
(Aturan validasi untuk update).
-
-
API Routes: Rute resource API akan ditambahkan secara otomatis ke
routes/api.php
. -
Koleksi Postman: Sebuah file bernama
User.postman_collection.json
(atau serupa) akan dibuat, siap untuk diimpor ke Postman untuk pengujian API.
Kesimpulan
Mengotomatisasi tugas-tugas repetitif seperti membuat CRUD adalah cara cerdas untuk meningkatkan produktivitas sebagai developer. Dengan package mrmarchone/laravel-auto-crud
, Anda bisa generate CRUD di Laravel dalam hitungan detik, bukan jam. Anda mendapatkan controller, requestvalidasi, rute, dan bahkan koleksi Postman, yang memungkinkan Anda untuk langsung fokus pada pengujian dan pengembangan logika bisnis yang lebih penting.