2017-05-11 6 views
3

J'essaie de supprimer un élément d'une table générée d'éléments qui proviennent d'une table de base de données.Laravel delete item from table list/db

Mon itinéraire:

Route::delete('destroy/{deviceID}', ['as' => 'destroyDevice', 'uses' => '[email protected]']); 

Ma méthode Controller pour supprimer un élément:

public function destroyDevice(Request $request, $deviceId = 0) 
{ 
    $device = Device::find($deviceId); 

    if($device) 
    { 
     $device->delete(); 
     return redirect()->route('index')->with('success', 'Erfolgreich gelöscht'); 
    } 
    else 
    { 
     return redirect()->route('index')->with('error', 'Fehler'); 
    } 
} 

Et mon modèle de lame:

   <form action="{{ route('destroyDevice', $deviceValue->id) }}" method="post" name="delete_device"> 
        <input type="hidden" name="_method" value="delete"> 
        <input type="hidden" name="_token" value="{{ csrf_token() }}"> 
        <input type="hidden" name="id" value="{{ $deviceValue->id }}"> 
        <td> 
         <button type="submit" class="btn btn-danger" name="destroy_device"> 
          <span class="glyphicon glyphicon-trash"></span> 
         </button> 
        </td> 
       </form> 

Si je clique sur le rien bouton se produit pas erreur no Réponse, qu'est-ce que je fais mal.

Si je clique sur le troisième bouton Supprimer le formulaire tient ceci:

<form action="http://localhost/app/public/device/destroy/3" method="post" name="delete_device"></form> 
+1

Lorsque vous cliquez sur le bouton, une requête est-elle envoyée au serveur dans la console Web? – EkinOf

+0

La console ne montre rien si je clique sur le bouton – Micheasl

+0

@EkinOf J'ai posté la lame entière – Micheasl

Répondre

0

Le paramètre est sensible à la casse, il devrait être deviceID au lieu de deviceId

public function destroyDevice(Request $request, $deviceID = 0) 
+0

Essayé, ne fonctionne toujours pas – Micheasl

+0

try 'fonction publique destroyDevice (Demande $ request, $ deviceId)' –

+0

cela ne fonctionne pas – Micheasl

0

Peut-être vous avoir un script qui empêche le formulaire de soumettre, certains empêchent par défaut peut-être sur le bouton de clic ou sur le formulaire de soumission. Regarde ça.

1

Vous pouvez résoudre ce problème en plaçant le formulaire dans une balise td de ce tableau.

Comme ceci:

<td> <!-- <--- put these --> 
     <form action="{{ route('destroyDevice', $deviceValue->id) }}" method="post" name="delete_device"> 
      <input type="hidden" name="_method" value="delete"> 
      <input type="hidden" name="_token" value="{{ csrf_token() }}"> 
      <input type="hidden" name="id" value="{{ $deviceValue->id }}"> 

       <button type="submit" class="btn btn-danger" name="destroy_device"> 
        <span class="glyphicon glyphicon-trash"></span> 
       </button> 

     </form> 
    </td> <!-- <--- put these --> 

Je pense que le formulaire est ignoré en quelque sorte en raison de ne pas être valide, mais je ne suis pas sûr à 100%. Est-ce que les gens peuvent modifier cette réponse;)

+0

Cela a fonctionné grâce – Micheasl