php - 在 Laravel 中删除记录数据不起作用
问题描述
我是 Laravel 编程的新手。我已经搜索了很多关于删除功能的资源,但它不起作用。当我单击删除按钮时,它只显示 404 NOT FOUND。我正在使用 Laravel 7.0。希望你能帮我解决它。谢谢!
这里
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
$student = Student::find($id);
$student->delete();
return redirect('/');
}
这是我的路线:
Route::get('/delete/{id}','StudentController@destroy');
这是我的观点:
<table class="table thead-light">
<thead>
<tr>
<th scope="col">ID</th>
<th scope="col">Mã sinh viên</th>
<th scope="col">Khối</th>
<th scope="col">Tên lớp</th>
<th scope="col">Họ và Tên</th>
<th scope="col">Thầy/Cô giáo chủ nhiệm</th>
<th scope="col">Tính năng</th>
</tr>
</thead>
<tbody>
@foreach($students as $student)
<tr>
<th scope="row">{{ $student->id }}</th>
<td>{{ $student->student_id }}</td>
<td>{{ $student->grade }}</td>
<td>{{ $student->class }}</td>
<td>{{ $student->fullname }}</td>
<td>{{ $student->head_teacher }}</td>
<td id="functions">
<a href="#" class="btn btn-info">Xem hồ sơ</a>
<a href="{{ url('/edit/'.$student->id) }}" class="btn btn-warning">Sửa</a>
<a href='delete/{{ $student->id }}' class="btn btn-danger">Xóa</a>
</td>
</tr>
@endforeach
</tbody>
</table>
解决方案
您的删除链接不正确。您应该使用命名路由。
为您的路线
Route::get('/delete/{id}','StudentController@destroy')->name('delete.student');
对于视图中的链接
<a href='{{ route('delete.student', $student->id) }}' class="btn btn-danger">Xóa</a>
考虑更改您的编辑链接。尽量不要将 url() 用于链接,使用命名路由。
推荐阅读
- android - 无法从 Firestore 检索对象
- angular - Angular + Chart.js / 'ChartPoint' 类型的参数不可分配给'number & ChartPoint' 类型的参数
- google-custom-search - 从 Google 自定义搜索 JSON API 接收响应代码 502
- matplotlib - 如何单独指定 matplotlib 堆叠条形图的条形中的颜色?
- c# - 如何使用 C# 删除 JSON 属性
- javascript - 页面重新加载时如何更改背景图像?
- javascript - 省略没有值的字段
- azure-data-factory - 无法拖放管道的活动
- python - Django - TypeError: load_stations() 缺少 1 个必需的位置参数:'request'?
- python - 为什么这个 min() 调用适用于字典