首页 > 解决方案 > 在 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>

标签: phplaravel

解决方案


您的删除链接不正确。您应该使用命名路由。

为您的路线

Route::get('/delete/{id}','StudentController@destroy')->name('delete.student');

对于视图中的链接

<a href='{{ route('delete.student', $student->id) }}' class="btn btn-danger">Xóa</a>

考虑更改您的编辑链接。尽量不要将 url() 用于链接,使用命名路由。


推荐阅读