我是laravel的新手,我正在做一个项目。在项目中,我有一个带有记录的表。我在表的每一行中都有一个删除按钮。当我单击此按钮时,我希望它删除记录,但是它不起作用。当我单击删除按钮时,它会将我发送到另一个页面,并给我404错误。如果有人可以帮助我解决我的问题,我真的很感激。
我的观点:
<body>
<div class="spelers">
@if (count ($spelers) > 0)
<table id="table" class="table table-hover">
<thead>
<th scope="col">Selectie</th>
<th scope="col"></th>
</thead>
@foreach ($spelers as $speler)
<tr><td><a>{{{ $speler->speler_naam }}}</a></td><td><img src="../../img/edit.png" alt=""></a></td><td><a href="delete/{{ $speler->id }}"><img src="../../img/delete2.png" alt=""></a></td></tr>
@endforeach
</table>
@else
Er zijn helaas geen clubs beschikbaar
@endif
</div>
</div>
我的控制器:
public function Destroy($id)
{
SpelerSelectie::where('id', $id)->delete();
return redirect ('/');
}
我的路线:
Route::get('/delete/{id}', 'VoetbalController@Destroy');
答案 0 :(得分:2)
由于您在没有delete
的情况下进行了/
,因此该链接将附加您当前所在的页面。因此,如果您使用的是/test
,则该网址为/test/delete
。
要确保始终以正确的URL路径结尾,您只需根据操作即可在刀片文件中生成URL。看起来像这样:
更改
<a href="delete/{{ $speler->id }}">
收件人
<a href="{{ action('VoetbalController@destroy', $speler->id) }}">
您现在还可以更改路线,链接仍将正确显示。
让我知道如何解决这个问题。
答案 1 :(得分:1)
使用命名路由,可以方便地生成URL或特定路由的重定向。
路线:
Route::get('delete/{id}', 'VoetbalController@destory')->name('voetbal.destroy');
致电:
<a href="{{ route('voetbal.destroy', $speler->id) }}">Delete</a>
答案 2 :(得分:0)
更改
<a href="delete/{{ $speler->id }}">
收件人
<a href="/delete/{{ $speler->id }}">
希望这会对您有所帮助。
答案 3 :(得分:0)
您的网址似乎没有正确生成。
使用此辅助方法生成网址。
url()
<a href="{{ url('delete/') . $speler->id }}">