CRUD (Create, Read, Update, Delete) adalah operasi dasar yang sering digunakan dalam pengelolaan data aplikasi web. Laravel menyediakan kemudahan dalam membuat CRUD menggunakan Eloquent ORM, routing, dan controller. Mari kita buat CRUD sederhana dengan langkah-langkah berikut:
1.Setup Laravel dan Database
Buat proyek Laravel:
composer create-project --prefer-dist laravel/laravel crud-app
Sesuaikan konfigurasi database di file .env
:
DB_DATABASE=crud_db
DB_USERNAME=root
DB_PASSWORD=
Jalankan migrasi untuk membuat tabel:
php artisan migrate
2. Buat Model dan Controller
Buat model dan migrasi:
php artisan make:model Post -m
Tambahkan kolom di file migrasi create_posts_table.php
:
Schema::create('posts', function (Blueprint $table) {
$table->id();
$table->string('title');
$table->text('content');
$table->timestamps();
});
Jalankan migrasi:
php artisan migrate
Buat controller:
php artisan make:controller PostController --resource
3.Routing
Tambahkan route resource di file routes/web.php
:
Route::resource('posts', PostController::class);
4.Logika CRUD di Controller
index()
: Tampilkan semua post
public function index() {
$posts = Post::all();
return view('posts.index', compact('posts'));
}
create()
: Tampilkan form tambah post
public function create() {
return view('posts.create');
}
store()
: Simpan post baru
public function store(Request $request) {
Post::create($request->all());
return redirect()->route('posts.index');
}
edit()
: Tampilkan form edit post
public function edit(Post $post) {
return view('posts.edit', compact('post'));
}
update()
: Perbarui post
public function update(Request $request, Post $post) {
$post->update($request->all());
return redirect()->route('posts.index');
}
destroy()
: Hapus post
public function destroy(Post $post) {
$post->delete();
return redirect()->route('posts.index');
}
5.Buat View Blade
Buat view index.blade.php
dan create.blade.php
di folder resources/views/posts
untuk menampilkan dan menambah data.
index.blade.php
:
<h1>Posts</h1>
<a href="{{ route('posts.create') }}">Add Post</a>
<ul>
@foreach ($posts as $post)
<li>{{ $post->title }}</li>
@endforeach
</ul>
create.blade.php
:
<h1>Create Post</h1>
<form action="{{ route('posts.store') }}" method="POST">
@csrf
<input type="text" name="title" placeholder="Title">
<textarea name="content" placeholder="Content"></textarea>
<button type="submit">Save</button>
</form>
Kesimpulan
Dalam artikel ini, kita telah membahas cara membuat CRUD (Create, Read, Update, Delete) sederhana di Laravel. Dimulai dari instalasi proyek, pembuatan model dan migrasi, hingga implementasi controller dan routing, Laravel memberikan kemudahan melalui fitur-fitur bawaannya seperti Eloquent ORM dan Resource Controller. Dengan struktur yang terorganisir, pengelolaan data seperti menambahkan, menampilkan, memperbarui, dan menghapus dapat dilakukan dengan efisien.
Penggunaan Blade Templating juga mempermudah pembuatan tampilan, sehingga integrasi antara backend dan frontend menjadi lebih cepat. Laravel, dengan ekosistem yang lengkap, memungkinkan pengembang untuk fokus pada logika bisnis tanpa harus khawatir tentang dasar-dasar implementasi CRUD. Ini menunjukkan kekuatan Laravel sebagai framework yang sangat cocok untuk pengembangan aplikasi berbasis web, baik untuk pemula maupun pengembang berpengalaman.
Semoga panduan ini bermanfaat dalam membantu kamu memahami dasar-dasar CRUD di Laravel.