我对Laravel框架很陌生,我只是在构建一个简单的博客。我可以创建一个博客,显示博客并显示所有博客的概述。现在我想删除一个博客。因此,我在视图中创建了一个删除按钮,其中的路由链接也会传递文章的ID。然后,在我的路由文件中,我指定了一个删除请求和一个控制器方法。在该方法中,我找到了id并尝试删除具有在route/view中指定的id的行。从Laravel 5.4的数据库中删除数据
这不起作用。它不是激活销毁/删除方法,而是显示文章而不是删除它,并激活show方法而不是delete方法。有人可以帮助我,我错了什么?
View.blade.php
<a href="{{route('nieuws.destroy', ['id' => $blog->id])}}" onclick="return confirm('Weet je dit zeker?')">
<i class="fa fa-trash"></i>
</a>
路线
Route::group(['middleware' => 'auth'], function() {
Route::get('/aanvragen', '[email protected]')->name('aanvragen.index');
Route::get('/logout' , 'Auth\[email protected]')->name('logout');
Route::get('/nieuws/toevoegen', '[email protected]')->name('blogs.add');
Route::post('/nieuws/store', '[email protected]')->name('nieuws.store');
Route::delete('/nieuws/{id}', '[email protected]')->name('nieuws.destroy');
});
Route::get('/nieuws', '[email protected]')->name('blogs.index');
Route::get('/nieuws/{blog}', '[email protected]')->name('blogs.show');
控制器方法
删除/销毁
public function destroy($id) {
$blog = Blog::find($id);
$blog->delete();
return redirect('/nieuws');
}
显示
public function show(Blog $blog) {
dd('show');
return view('blogs.show', compact('blog'));
}
@Gijsberts你可能要重新检查KUNAL的答案。允许GET请求以任何方式更改数据是不好的做法和安全风险。 – Robert