0
votes

Supprimer les URL des produits ne fonctionnant pas dans Laravel

Je souhaite qu'un utilisateur supprime un produit lorsqu'il clique sur le bouton contrairement, mais je reçois une erreur 404 URL introuvable, mais j'ai l'URL.

Si je mettez dd ($ produit) avant $ like = similaire :: FindorFail ($ produit); Il affiche le ID (4) mais si je mettez dd ($ comme) , il jette une erreur 404 . Comment puis-je faire fonctionner cette fonction?.

contrôleur xxx

lame xxx

itinéraire < /p>










/ P>


13 commentaires

Semble qu'il n'y a pas de produit avec l'ID donné dans la DB.


Il y a un produit (4) dans la base de données @Paulspiegel


Regardez dans la table qui est configurée dans le modèle comme !


Ouais je vois l'id 4 @paulspiegel


Si vous DD ($ produit) Quels sont les résultats?


Si je dd ($ produit), il montre 4 @eyadjaabo


Qu'avez-vous lorsque vous inspectez l'attribut href de la balise A?


Comment puis-je inspecter? @linktoahref


Pourriez-vous essayer comme :: Où ('id', $ produit) -> Supprimer ();


Inspectez-le dans le navigateur, le rendu d'une étiquette


J'ai essayé comme :: Où ('id', produit $) -> Supprimer (); et il redirige de retour, mais le produit n'est pas supprimé @eyadjaabo


Si j'inspecte le href dans le navigateur, je vois comme la façon dont il est dans la lame ou peut-être que je n'ai pas eu le point @linktoahref


Pourriez-vous mettre à jour la question avec dd (comme :: tous ()) résultats?


3 Réponses :


0
votes

Supprimer Demande doit être Demander Post N'EST PAS GET CODE>

web.php CODE> P>

use App\Product;

...

public function destroy(Product $product) {
 $product->delete(); 
 return 'done'; 
}


5 commentaires

Je reçois ce la méthode DELETE n'est pas pris en charge pour cet itinéraire. Méthodes prises en charge: POST @ BEN96


Oui, je l'ai essayé et je reçois le 404 à nouveau @ ben96


fonction publique détruire ($ produit) {$ produit-> Supprimer (); retourner "fait"; }


Je reçois appel à une fonction membre Supprimer () sur String " @ ben96


Cela supprime complètement le produit dans le tableau des produits que je voulais supprimer le produit d'une autre table appelée Likeables @ Ben96



0
votes

Détachez les produits correspondant à similaires.

public function destroy($product)
{
    Like::where('product_id', $product)
         ->where('user_id', auth()->user()->id)
         ->delete();

    return 'done';
}


3 commentaires

Si j'utilise cette méthode, il supprime les produits de la base de données dans la table des produits, je voulais supprimer un produit dans une autre table (paridages) non dans la table des produits @LinkToahref


Veuillez partager le schéma de votre comme le modèle .


Je reçois cette colonne non trouvé: 1054 Colonne inconnue 'J'aime_id' dans 'Où clause' (SQL: Supprimer de LIQUATEAULES``` @LinkToahref



0
votes

FindorFail lancera une exception qui provoquera le 404 quand il ne peut pas trouver un enregistrement. Vous utilisez softdelettes pour que l'enregistrement puisse exister dans la base de données mais ne signifie pas qu'il n'a pas été "doux supprimé". S'il a été doux supprimé, la portée le fera agir comme ce n'est pas là.

Vérifiez votre enregistrement avec ID == 4 Pour voir s'il dispose d'une colonne supprimée avec une valeur. Si c'est le cas, il a été supprimé (supprimé doux). Vous devrez ajuster votre requête pour pouvoir récupérer des enregistrements supprimés.

Documents Laravel 6.x - Eloquant - Soft Suppletes - Interrogation de modèles supprimés doux


0 commentaires