📅  最后修改于: 2023-12-03 15:37:23.210000             🧑  作者: Mango
当你使用 Laravel 5 开发一个应用程序时,你可能需要在数据库中删除一条记录。在这篇文章中,我们将讨论如何在 Laravel 5 中删除一条记录。
在删除记录之前,我们需要先创建一个路由。在 Laravel 5 中,我们可以使用 delete
方法来创建一个路由。例如,要删除一个名为 example
的记录,我们可以创建以下路由:
Route::delete('/example/{id}', 'ExampleController@destroy');
这个路由将匹配 /example/{id}
URL,并调用 ExampleController
中的 destroy
方法。我们需要将 {id}
参数传递给 destroy
方法,以便在控制器中删除记录。
一旦你创建了路由,下一步是在控制器中创建一个新的方法来删除记录。在 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”消息保存在会话中。
最后,我们需要创建一个视图来显示记录列表和删除按钮。以下是视图代码示例:
{{-- 显示记录列表 --}}
<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 文档。