Laravel通过ID删除

问题描述

嘿,我正在尝试删除laravel中的记录,但出现此错误:未定义的变量:行(视图:C:\ xampp \ htdocs \ Laravel \ laravel \ resources \ views \ admin \ addEmployee.blade.PHP)行:<form action="/deleteEmployee/{{ $row->id }}" method="POST">

这里是完整的HTML代码 可能出什么问题了?

     <tbody>
         <!-- displaying all the employees from the database -->
        @foreach($users as $user)
        @if($user->is_admin !== 1)
        <tr>
          <td>{{$user->name}} </td>
          <td>{{$user->email}} </td>
          <td>{{$user->salary}} $</td>
          <td>{{$user->department}} </td>
          <td>
              <a href="/editEmployee{{$user->id}}" class="btn btn-success">EDIT</a>
          </td>
          <td>
              <form action="deleteEmployee/{{ $row->id }}" method="POST">
              {{csrf_field()}}
              {{method_field('DELETE')}}
                <button type="submit" class="btn btn-danger">DELETE</button>
              </form>
          </td>
        </tr>
        @endif
        @endforeach
    </tbody>
</table>

控制器

    class DashboardController extends Controller
{
   //Add employee function in admin dashboard
   public function addEmployee()
   {
       $users = User::all();
       return view('admin.addEmployee')->with('users',$users);
       //return view('adminHome');
   }

   public function editEmployee(Request $request,$id)
   {
      $users = User::findOrFail($id);
      return view('admin.editEmployee')->with('users',$users);
       //return view('adminHome');
   }

   public function updateEmployee(Request $request,$id)
   {
    $users = User::find($id);
    $users -> name = $request -> input('name');
    $users->email = $request->input('email');
    $users->salary = $request->input('salary');
    $users->department = $request->input('department');
    $users->update();

    return redirect('admin/addEmployee')->with('status','Employee record is updated');
   }

   public function deleteEmployee( $id)
   {
      $users = User::findOrFail($id);
      $users -> delete();

      return redirect('addEmployee')->with('status','Employee record is deleted');
   }

}

路线

Route::delete('/deleteEmployee/{id}','Admin\DashboardController@deleteEmployee');

解决方法

因此$row应该是$user。 ?

@foreach ($users as $user)
<form action="/deleteEmployee/{{ $user->id }}">
    {{csrf_field()}}
    {{method_field('DELETE')}}
    <button type="submit" class="btn btn-danger">DELETE</button>
</form>
@endforeach