PROMO CODE JUARAHEMAT, POTONGAN 50RB

Raih kesuksesan online Anda! Dapatkan diskon spesial di website kami, selama masih berlaku.

Cara Membuat CRUD di Laravel 12

Cara Membuat CRUD di Laravel 12 (Step by Step)

Pendahuluan

CRUD (Create, Read, Update, Delete) adalah fitur paling dasar yang hampir selalu ada dalam aplikasi web. Pada artikel ini, kita akan belajar membuat CRUD sederhana di Laravel 12 dengan contoh produk.

 

Dengan contoh ini, kamu akan memahami alur dasar CRUD di Laravel mulai dari membuat migration, model, controller, route, hingga view.

1. Membuat Migration & Model

Pertama, buat migration dan model untuk tabel produk:

php artisan make:model Product -m

Kemudian buka file migration database/migrations/…create_products_table.php dan ubah menjadi seperti berikut:

public function up()
{
             Schema::create('products', function (Blueprint $table) {
                          $table->id();
                          $table->string('name');
                            $table->integer('price');
                            $table->timestamps();
             });
}

Lalu jalankan perintah:

php artisan migrate

2. Membuat Controller

Buat controller dengan resource method:

php artisan make:controller ProductController --resource

Di dalam ProductController.php, tambahkan logika dasar CRUD:

use App\Models\Product;
use Illuminate\Http\Request;

class ProductController extends Controller
{
             // READ (Tampilkan semua produk)
             public function index()
             {
                          $products = Product::all();
                          return view('products.index', compact('products'));
             }

             // CREATE (Form tambah produk)
             public function create()
             {
                          return view('products.create');
             }

             // STORE (Simpan produk baru)
             public function store(Request $request)
             {
                          Product::create($request->all());
                          return redirect()->route('products.index')->with('success','Produk berhasil ditambahkan');
             }

             // EDIT (Form edit produk)
             public function edit(Product $product)
             {
                          return view('products.edit', compact('product'));
             }

             // UPDATE (Simpan perubahan)
             public function update(Request $request, Product $product)
             {
                          $product->update($request->all());
                          return redirect()->route('products.index')->with('success','Produk berhasil diupdate');
             }

             // DELETE
             public function destroy(Product $product)
             {
                          $product->delete();
                          return redirect()->route('products.index')->with('success','Produk berhasil dihapus');
             }
}

3. Menambahkan Route

See also  Cara Membuat Database & User di phpMyAdmin

Tambahkan di routes/web.php:

Route::resource('products', ProductController::class);

4. Membuat View

Buat folder resources/views/products/.

index.blade.php

<h2>Daftar Produk</h2>
<a href="{{ route('products.create') }}">Tambah Produk</a>

<ul>
             @foreach($products as $p)
             <li>{{ $p->name }} - Rp{{ $p->price }}
                          <a href="{{ route('products.edit',$p->id) }}">Edit</a>
                          <form action="{{ route('products.destroy',$p->id) }}" method="POST">
                                       @csrf @method('DELETE')
                                       <button type="submit">Hapus</button>
                          </form>
             </li>
             @endforeach
</ul>

create.blade.php

<h2>Tambah Produk</h2>
<form action="{{ route('products.store') }}" method="POST">
             @csrf
             <input type="text" name="name" placeholder="Nama Produk">
             <input type="number" name="price" placeholder="Harga Produk">
             <button type="submit">Simpan</button>
</form>

edit.blade.php

<h2>Edit Produk</h2>
 <form action="{{ route('products.update',$product->id) }}" method="POST">
             @csrf @method('PUT')
             <input type="text" name="name" value="{{ $product->name }}">
             <input type="number" name="price" value="{{ $product->price }}">
             <button type="submit">Update</button>
</form>

5. Uji Coba CRUD

Sekarang buka browser ke /products.
Kamu bisa menambah produk, menampilkan daftar produk, mengedit, dan menghapus data.

 

Kesimpulan

Dengan mengikuti langkah di atas, kita sudah berhasil membuat CRUD sederhana di Laravel 12. Dari sini kamu bisa kembangkan lebih lanjut dengan validasi, pagination, upload gambar, atau relasi database.

Scroll to Top