构建创建、更新和删除功能 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 处理来自 s 的请求 route。

<?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.');  
    }  
}  

在每种方法中,您可以执行相应的操作,例如显示表单、存储新数据、更新现有数据和删除数据。

 

创建用户 Interface

创建用户 interface( views) 以显示表单和查看数据。 例如:

列表( views/users/index.blade.php ):

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

编辑表格( 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>  

编辑表格( 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>  

 

处理数据

在 中的存储和更新方法中 controller,您可以使用 Eloquent 方法来存储和更新数据库中的数据。

 

显示消息

最后,您可以在执行创建、更新和删除操作后向用户显示成功或错误消息。

  • 使用 Laravel 会话在视图中显示成功或错误消息。

 

通过执行这些步骤,您已成功在 Laravel.