📌  相关文章
📜  在 laravel 5 中删除一条记录 - PHP (1)

📅  最后修改于: 2023-12-03 15:37:23.210000             🧑  作者: Mango

在 Laravel 5 中删除一条记录

当你使用 Laravel 5 开发一个应用程序时,你可能需要在数据库中删除一条记录。在这篇文章中,我们将讨论如何在 Laravel 5 中删除一条记录。

步骤1:创建路由

在删除记录之前,我们需要先创建一个路由。在 Laravel 5 中,我们可以使用 delete 方法来创建一个路由。例如,要删除一个名为 example 的记录,我们可以创建以下路由:

Route::delete('/example/{id}', 'ExampleController@destroy');

这个路由将匹配 /example/{id} URL,并调用 ExampleController 中的 destroy 方法。我们需要将 {id} 参数传递给 destroy 方法,以便在控制器中删除记录。

步骤2:创建控制器方法

一旦你创建了路由,下一步是在控制器中创建一个新的方法来删除记录。在 Laravel 5 中,控制器方法需要接收请求对象作为参数。以下是删除记录的示例代码:

public function destroy($id)
{
    $example = Example::findOrFail($id);
    $example->delete();

    return redirect('/examples')->with('success', 'Record has been deleted!');
}

在这个方法中,我们首先使用 findOrFail 方法找到与给定 $id 相关联的记录。如果记录不存在,它将抛出异常。然后,我们可以使用 delete 方法删除记录。最后,我们将重定向到 /examples URL,并将“success”消息保存在会话中。

步骤3:创建视图

最后,我们需要创建一个视图来显示记录列表和删除按钮。以下是视图代码示例:

{{-- 显示记录列表 --}}
<table>
    <thead>
        <tr>
            <th>ID</th>
            <th>Name</th>
            <th>Action</th>
        </tr>
    </thead>
    <tbody>
        @foreach ($examples as $example)
            <tr>
                <td>{{ $example->id }}</td>
                <td>{{ $example->name }}</td>
                <td>
                    {{-- 显示删除按钮 --}}
                    <form action="/example/{{ $example->id }}" method="POST">
                        {{ csrf_field() }}
                        {{ method_field('DELETE') }}
                        <button type="submit">Delete</button>
                    </form>
                </td>
            </tr>
        @endforeach
    </tbody>
</table>

{{-- 显示成功消息 --}}
@if (session('success'))
    <div class="alert alert-success">
        {{ session('success') }}
    </div>
@endif

在这个视图中,我们使用 @foreach 循环遍历所有记录,并在每个记录旁边显示一个删除按钮。当用户单击删除按钮时,我们将提交一个表单,该表单使用 DELETE 方法提交到 /example/{id} URL,其中 {id} 是要删除的记录 ID。我们还在表单中包含了 CSRF 令牌以保护我们的应用程序免受跨站脚本攻击。

结论

在 Laravel 5 中删除一条记录很容易,只需遵循上述步骤即可。如果你刚刚接触 Laravel 或者需要帮助解决 Laravel 问题,请查看 Laravel 文档