我对Laravel框架比较陌生,正在构建一个简单的博客。我已经能够创建博客、显示博客和展示所有博客的概述。现在我想删除一篇博客。因此,在我的视图中创建了一个带有路由链接的删除按钮,该链接还将传递文章的id。然后,在我的路由文件中,我指定了一个删除请求和一个控制器方法。 在该方法中,我查找id并尝试使用我在路由/视图中指定的id删除行。
展示
这不起作用。它不会触发destroy/delete方法,而是显示文章,触发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', 'aanvragenController@index')->name('aanvragen.index');
Route::get('/logout' , 'Auth\LoginController@logout')->name('logout');
Route::get('/nieuws/toevoegen', 'blogController@create')->name('blogs.add');
Route::post('/nieuws/store', 'blogController@store')->name('nieuws.store');
Route::delete('/nieuws/{id}', 'blogController@destroy')->name('nieuws.destroy');
});
Route::get('/nieuws', 'blogController@index')->name('blogs.index');
Route::get('/nieuws/{blog}', 'blogController@show')->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'));
}