Untuk membangun fitur buat, perbarui, dan hapus di Laravel, ikuti langkah-langkah berikut:
Mendefinisikan Route
Mulailah dengan mendefinisikan route s untuk menangani tindakan pembuatan, pembaruan, dan penghapusan.
Route::get('/users', 'UserController@index')->name('users.index');
Route::get('/users/create', 'UserController@create')->name('users.create');
Route::post('/users', 'UserController@store')->name('users.store');
Route::get('/users/{id}/edit', 'UserController@edit')->name('users.edit');
Route::put('/users/{id}', 'UserController@update')->name('users.update');
Route::delete('/users/{id}', 'UserController@destroy')->name('users.destroy');
Pada contoh di atas, kita mendefinisikan route s untuk membuat pengguna, menyimpan pengguna, mengedit pengguna, memperbarui pengguna, dan menghapus pengguna.
Tentukan Controller
Selanjutnya, tentukan metode untuk controller menangani permintaan dari route s.
<?php
namespace App\Http\Controllers;
use App\Models\User;
use Illuminate\Http\Request;
class UserController extends Controller
{
public function index()
{
$users = User::all();
return view('users.index', compact('users'));
}
public function create()
{
return view('users.create');
}
public function store(Request $request)
{
$validatedData = $request->validate([
'name' => 'required',
'email' => 'required|email',
]);
$user = User::create($validatedData);
return redirect()->route('users.index')->with('success', 'User created successfully.');
}
public function edit($id)
{
$user = User::findOrFail($id);
return view('users.edit', compact('user'));
}
public function update(Request $request, $id)
{
$validatedData = $request->validate([
'name' => 'required',
'email' => 'required|email',
]);
$user = User::findOrFail($id);
$user->update($validatedData);
return redirect()->route('users.index')->with('success', 'User updated successfully.');
}
public function destroy($id)
{
$user = User::findOrFail($id);
$user->delete();
return redirect()->route('users.index')->with('success', 'User deleted successfully.');
}
}
Di setiap metode, Anda dapat melakukan tindakan terkait seperti menampilkan formulir, menyimpan data baru, memperbarui data yang ada, dan menghapus data.
Buat pengguna Interface
Buat pengguna interface( views
) untuk menampilkan formulir dan melihat data. Misalnya:
Daftar( views/users/index.blade.php
):
@foreach($users as $user)
<p>{{ $user->name }}- {{ $user->email }}</p>
@endforeach
Sunting Formulir( views/users/create.blade.php
):
<form method="POST" action="{{ route('users.store') }}">
@csrf
<input type="text" name="name" placeholder="Name">
<input type="email" name="email" placeholder="Email">
<button type="submit">Create User</button>
</form>
Sunting Formulir( views/users/edit.blade.php
):
<form method="POST" action="{{ route('users.update', $user->id) }}">
@csrf
@method('PUT')
<input type="text" name="name" value="{{ $user->name }}">
<input type="email" name="email" value="{{ $user->email }}">
<button type="submit">Update User</button>
</form>
Menangani Data
Dalam metode simpan dan perbarui di controller, Anda dapat menggunakan metode Eloquent untuk menyimpan dan memperbarui data dalam database.
Pesan Tampilan
Terakhir, Anda dapat menampilkan pesan sukses atau kesalahan kepada pengguna setelah melakukan tindakan pembuatan, pembaruan, dan penghapusan.
- Gunakan Laravel Sesi untuk menampilkan pesan sukses atau kesalahan dalam tampilan.
Dengan mengikuti langkah-langkah ini, Anda telah berhasil membangun fitur buat, perbarui, dan hapus di Laravel.