Boa noite. Tenho uma table e para conseguir excluir um registro dela utilizando o método HTTP:DELETE fiz o seguinte:
Estou usando Laravel 5.6.
Meu controller:
public function destroy($id)
{
$classe = Classe::find($id);
$classe->delete();
return redirect()->action('ClasseController@index');
}
Meu web.php
Route::delete('/classes/{id}', 'ClasseController@destroy');
Minha view.php
<form>
<table>
...
<td>
<form method="post" action="/classes/{{$chars->id}}">
{{method_field('DELETE')}}
@csrf
<button type="submit" class="btn btn-danger btn-sm">Delete</button>
</form>
</td>
</table>
</form>
Meu problema é quando tento excluir o primeiro registro da minha table. Somente ele. Quando clico no botão de excluir da minha linha da table minha URI fica da seguinte forma:
http://localhost:8000/classes?_method=DELETE&_token=GErGZKTWOXo86eog2JgSS0Y3Jwe2WAjdgzbHm8Dj
em qualquer outro registro da table, ele exclui normal e faz o redirect para o index()
Alguma ideia? :)