Delete
We gaan de Delete van de CRUD nu toevoegen.
Opdracht
Ga naar de file link.blade.php waarin we het overzicht van de links in een tabel afdrukken en voeg een kolom toe aan het eind van de regels. Zet in deze kolom:
<a href="/links/del/{{ $link->id }}"> Delete </a>
of
<form action="{{ url('/links/del' , $link->id ) }}" method="GET">
{{ csrf_field() }}
<button>Delete</button>
</form>
Beide doen hetzelfde, of moeten hetzelfde gaan doen. De eerste werkt via een delete link en de tweede werkt via een delete button. Het verschil is vooral grafisch (GUI).
In het form en in de link wordt het ID van de regel die moet worden veriwijderd meegegeven aan de url.
Routing en destroy()
In de routing krijgen we de url /links/del/12 waarbij 12 het ID is van de regel die verwijderd moet worden. De routering wordt opgezet en het ID wordt als parameter van de functie gedefineerd. Daarna kunnen we met een eenvoudig Laravel statement de regel uit de tabel halen:
Route::get('/links/del/{id}', function ($del_id) {
\App\Link::destroy($del_id);
return redirect('/links');
});