Ich bin etwas neu in der Laravel-Framework und ich baue nur ein einfaches Blog. Ich kann einen Blog erstellen, einen Blog zeigen und einen Überblick über alle Blogs anzeigen. Jetzt möchte ich einen Blog löschen. Also, ich habe einen Lösch-Button in meiner Ansicht mit einem Routen-Link erstellt, der auch die ID des Artikels passieren wird. Dann gebe ich in meiner routes-Datei eine Löschanforderung und eine Controller-Methode an. In der Methode finde ich die ID und versuche, die Zeile mit der in der Route/View angegebenen ID zu löschen.Löschen von Daten aus der Datenbank mit Laravel 5.4
Dies funktioniert nicht. Anstatt die Methode destroy/delete zu aktivieren, wird der Artikel angezeigt, anstatt ihn zu löschen, und statt der Methode delete wird die Methode show aktiviert. Kann mir jemand helfen? Was mache ich falsch?
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>
Strecke
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');
Controller-Methoden
Löschen/Zerstören
public function destroy($id) {
$blog = Blog::find($id);
$blog->delete();
return redirect('/nieuws');
}
anzeigen
public function show(Blog $blog) {
dd('show');
return view('blogs.show', compact('blog'));
}
@Gijsberts Sie vielleicht erneut überprüfen kunal Antwort. GET-Anfragen zu erlauben, Daten in irgendeiner Weise zu ändern, ist eine schlechte Übung und ein Sicherheitsrisiko. – Robert