Построение функций создания, обновления и удаления в Laravel

Чтобы создать функции создания, обновления и удаления в Laravel, выполните следующие действия:

Определять Route

Начните с определения route s для обработки действий создания, обновления и удаления.

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');

В приведенном выше примере мы определяем route s для создания пользователя, сохранения пользователя, редактирования пользователя, обновления пользователя и удаления пользователя.

 

Определите Controller

Затем определите методы для controller обработки запросов от 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.');  
    }  
}  

In each method, you can perform the corresponding actions such as displaying a form, storing new data, updating existing data, and deleting data.

 

Create User Interface

Create the user interface(views) to display forms and view data. For example:

List(views/users/index.blade.php):

@foreach($users as $user)  
    <p>{{ $user->name }}- {{ $user->email }}</p>  
@endforeach  

Edit Form(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>  

Edit Form(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>  

 

Handle Data

In the store and update methods in the controller, you can use Eloquent methods to store and update data in the database.

 

Display Messages

Finally, you can display success or error messages to the user after performing the create, update, and delete actions.

  • Use Laravel Session to display success or error messages in views.

 

By following these steps, you have successfully built the create, update, and delete features in Laravel.