删除视图中的功能| Laravel

时间:2018-05-29 09:53:19

标签: laravel

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

public function delete($id)
{
DB::table('user')->where('userID', '=', $id)->delete();
return redirect('userAdmin');
}

我有一个为每一行创建的按钮。

@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>
    {{ csrf_field() }}
</td>

现在我的问题是,如何在其背后获得删除功能?

2 个答案:

答案 0 :(得分:1)

在您看来:

<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>

添加一个您喜欢的名称的路由,以及一个id的参数。让那条路线调用你的例子中的方法,你应该很好。

HTML表单中没有DELETE函数这样的东西,所以你必须欺骗它。看看docs

答案 1 :(得分:-1)

在您看来:

<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::post('Test/{id}', 'TestController@delete')->name('yourmodel.delete');