2016-08-09 201 views
2

Ich benutze Laravel und versuche, etwas zu löschen. Ist es möglich, die Methode DELETE auf Laravels Route() zu spezifizieren?kann ich route() verwenden, um eine DELETE-Anfrage in Laravel

beispiels

route('dashboard-delete-user', ['id' => $use->id, 'method'=> 'delete']) 

oder so etwas ??

EDIT: Was ich meinte war, konnte ich dies in einem Link oder eine Schaltfläche in meiner Blade-Vorlage angeben. Ähnlich wie folgt aus:

href="{{ route('dashboard-delete-user') }} 
+0

Ja, Sie können [hier klicken] (https://laravel.com/docs/5.2/routing#basic-routing) Sie können die 'route :: delete()' Methode verwenden. –

+0

Nein, das kann man nicht nur mit route tun .... Sehen Sie sich https://laracasts.com/discuss/channels/laravel/delete-method-with-href an –

Antwort

2

Ja, können Sie dies tun:

Route::delete($uri, $callback); 

https://laravel.com/docs/master/routing#basic-routing

aktualisieren

Wenn Sie aus irgendeinem Grund nur verwenden Route wollen (ohne Controller), können Sie schließen, etwas wie:

Route::get('delete-user/{id}', function ($id) { 
    App\User::destroy($id); 
    return 'User '.$id.' deleted'; 
}); 
0

Nein oder zumindest habe ich nicht herausfinden, wie.

Die einzige Möglichkeit, dies aus der Box zu funktionieren, wäre, ein Formular zu erstellen, um damit umzugehen. Auf das Minimum, was man braucht ...

<form action="{{ route('dashboard-delete-user') }}" method="POST"> 
    {{ method_field('DELETE') }} 
    {{ csrf_field() }} 
    <button type="submit" value="submit">Submit</button> 
</form> 

Oder Sie können einfach die get-Route erstellen, die Sie versuchen, zu verknüpfen und haben es die Logik behandeln. Es braucht nicht , um eine Route zu sein, die nur delete anfordert, eine Ressource zu löschen.

+0

Obwohl dies nicht der Fall ist müssen als DELETE-Route deklariert werden, es ist üblich, HTTP GET nicht zum Löschen (Aktualisieren oder Erstellen) zu verwenden –