Pentru a construi funcțiile de creare, actualizare și ștergere în Laravel, urmați acești pași:
Defini Route
Începeți prin a defini route s pentru a gestiona acțiunile de creare, actualizare și ștergere.
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');
În exemplul de mai sus, definim route s pentru crearea unui utilizator, stocarea unui utilizator, editarea unui utilizator, actualizarea unui utilizator și ștergerea unui utilizator.
Definiți Controller
Apoi, definiți metodele în pentru controller a gestiona cererile de la 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.');
}
}
În fiecare metodă, puteți efectua acțiunile corespunzătoare, cum ar fi afișarea unui formular, stocarea de date noi, actualizarea datelor existente și ștergerea datelor.
Creaza utilizator Interface
Creați utilizatorul interface( views
) pentru a afișa formulare și a vizualiza date. De exemplu:
Lista( views/users/index.blade.php
):
@foreach($users as $user)
<p>{{ $user->name }}- {{ $user->email }}</p>
@endforeach
Editați formularul( 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>
Editați formularul( 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>
Gestionați datele
În metodele de stocare și actualizare din controller, puteți utiliza metode Eloquent pentru a stoca și actualiza datele în baza de date.
Afișează mesaje
În cele din urmă, puteți afișa utilizatorului mesaje de succes sau de eroare după efectuarea acțiunilor de creare, actualizare și ștergere.
- Utilizați Laravel Session pentru a afișa mesaje de succes sau de eroare în vizualizări.
Urmând acești pași, ați creat cu succes funcțiile de creare, actualizare și ștergere în Laravel.