删除视图中的函数| Laravel

删除视图中的函数| Laravel,laravel,Laravel,我有这个函数只从数据库中的表中删除一行 public function delete($id) { DB::table('user')->where('userID', '=', $id)->delete(); return redirect('userAdmin'); } 我有一个为每一行创建的按钮 @foreach($score作为$score) {{$score->id} {{$score->serialnumber} {{$score->name} {{$score->cr

我有这个函数只从数据库中的表中删除一行

public function delete($id)
{
DB::table('user')->where('userID', '=', $id)->delete();
return redirect('userAdmin');
}
我有一个为每一行创建的按钮

@foreach($score作为$score)
{{$score->id}
{{$score->serialnumber}
{{$score->name}
{{$score->created_at}
删除此行
{{csrf_field()}}
如何获得其背后的删除功能?

在您看来:

<form action="{{ route('yourmodel.delete', $score->id) }}" method="post">
    {{ csrf_field() }}
    <input name="_method" type="hidden" value="DELETE">
    <button class="btn btn-danger" type="submit">Delete</button>
</form>
<form action="{{ route('yourmodel.delete', $score->id) }}" method="post">
 {{ csrf_field() }}
   @foreach ($scores as $score)
   <tr>
     <td>{{ $score->id }}</td>
     <td>{{ $score->serialnumber }}</td>
     <td>{{ $score->name }}</td>
     <td>{{ $score->created_at }}</td>
     <td></td>
   <td>
  <button class="btn btn-danger" type="submit">Delete this Row</button>
 </td>
@endforeach


</form>

{{csrf_field()}}
删除
添加一个具有您喜欢的名称的路由,并为id添加一个参数。让该路由调用示例中的方法,您应该会做得很好

HTML表单中并没有真正的
DELETE
函数,所以您必须欺骗它。查看您视图中的。

<form action="{{ route('yourmodel.delete', $score->id) }}" method="post">
    {{ csrf_field() }}
    <input name="_method" type="hidden" value="DELETE">
    <button class="btn btn-danger" type="submit">Delete</button>
</form>
<form action="{{ route('yourmodel.delete', $score->id) }}" method="post">
 {{ csrf_field() }}
   @foreach ($scores as $score)
   <tr>
     <td>{{ $score->id }}</td>
     <td>{{ $score->serialnumber }}</td>
     <td>{{ $score->name }}</td>
     <td>{{ $score->created_at }}</td>
     <td></td>
   <td>
  <button class="btn btn-danger" type="submit">Delete this Row</button>
 </td>
@endforeach


</form>

我尝试过这样的方法:Route::get('Test/{id}','TestController@delete')->name('mymodel.delete');但是我得到了一个未定义的路由..当我现在按下删除按钮时,它只是将用户输入粘贴到url。。。这样地。这是什么?您不能向get路由发送删除请求<代码>路由::删除('test/{id}',等等。我更进一步了一点,我认为路由目前正在工作,但我收到了一条奇怪的错误消息,这是我在使用laravel编码时从未见过的:类型错误:函数App\Http\Controllers\testDeviceController::delete()的参数太少,0已通过,正好是1 Expected听起来您实际上并没有从表单中发送ID。请检查是否发送:)因此您基本上复制了我的答案,但路由应该失败?那么为什么要添加隐藏的删除方法?