Bagaimana cara membuat crud di laravel
Untuk membuat CRUD (Create, Read, Update, Delete) di Laravel, berikut langkah-langkahnya:
- Buatlah database di MySQL atau database manapun yang ingin digunakan.
- Buka terminal atau command prompt dan buatlah project Laravel baru dengan perintah
composer create-project --prefer-dist laravel/laravel nama_project
. - Buatlah migration dengan perintah
php artisan make:migration create_nama_table
. - Edit file migration yang telah dibuat di folder database/migrations/ dengan menambahkan kolom-kolom yang diperlukan.
- Jalankan perintah
php artisan migrate
untuk menjalankan migration dan membuat tabel di database. - Buat model dengan perintah
php artisan make:model NamaModel
. - Buat controller dengan perintah
php artisan make:controller NamaController
. - Buka file routes/web.php dan tambahkan route untuk setiap fungsi CRUD, contohnya:
cppRoute::get('/nama', [NamaController::class, 'index']);
Route::get('/nama/create', [NamaController::class, 'create']);
Route::post('/nama', [NamaController::class, 'store']);
Route::get('/nama/{id}', [NamaController::class, 'show']);
Route::get('/nama/{id}/edit', [NamaController::class, 'edit']);
Route::put('/nama/{id}', [NamaController::class, 'update']);
Route::delete('/nama/{id}', [NamaController::class, 'destroy']);
- Buka file NamaController.php dan tambahkan fungsi-fungsi CRUD, contohnya:
phppublic function index()
{
$data = NamaModel::all();
return view('index', compact('data'));
}
public function create()
{
return view('create');
}
public function store(Request $request)
{
NamaModel::create($request->all());
return redirect('/nama')->with('success', 'Data berhasil ditambahkan!');
}
public function show($id)
{
$data = NamaModel::find($id);
return view('show', compact('data'));
}
public function edit($id)
{
$data = NamaModel::find($id);
return view('edit', compact('data'));
}
public function update(Request $request, $id)
{
$data = NamaModel::find($id);
$data->update($request->all());
return redirect('/nama')->with('success', 'Data berhasil diupdate!');
}
public function destroy($id)
{
$data = NamaModel::find($id);
$data->delete();
return redirect('/nama')->with('success', 'Data berhasil dihapus!');
}
- Buatlah view untuk setiap fungsi CRUD yang sudah dibuat di folder resources/views/, contohnya:
- index.blade.php
php@foreach($data as $d)
<p>{{ $d->nama }}</p>
@endforeach
- create.blade.php
php<form method="POST" action="/nama">
@csrf
<input type="text" name="nama">
<button type="submit">Submit</button>
</form>
- show.blade.php
bash<p>{{ $data->nama }}</p>
- edit.blade.php
python<form method="POST" action="/nama/{{ $data->id }}">
@csrf
@method('PUT')
<input type="text" name="nama" value="{{ $data->nama }}">
<button type="submit">Submit</button>
</form
No comments: