retrieve data from pivot table

dani03 @dani03 551 XP a posé dans

Bonjour à tous j'ai une petit problème avec mon code je vais essayer de bien expliquer. je veux pouvoir récuperer les informations sur ma table pivot j'ai une relation manyToMany entre les ingrédients et recette c'est à dire un ingrédient peut appartenir à plusieurs recette et une recette peut avoir plusieurs ingrédients dans mon model recette je crée cette propriété model Recette: Capture d’écran 2021-12-28 à 22.09.00.png model ingredients: Capture d’écran 2021-12-28 à 22.17.34.png sauf que quand je supprime un ingrédient d'une recette je ne veux pas le supprimé dans toute l'application donc je veux dettach et récupérer le reste reste d'ingredients Capture d’écran 2021-12-28 à 22.28.17.png

mais je n'arrive pas a récupéré les informations de ma table pivot. donc si quelqu'un peut m'aider a récupérer les informations à partir de ma table pivot svp .

  • Normalement vu que tu as suivi les conventions de Laravel je ne pense plus que ce soit necessaire de mettre ->withPivot() et si tu as fais les choses normalement ta table ingredient_recette ne doit avoir que 2 champs. Je pense que quand tu mets withPivot ca veut dire que tu as des champs en plus des cles etrangeres. Tu peux jeter un oeil ici https://laravel.com/docs/8.x/eloquent-relationships#retrieving...

  • dani03
    dani @dani03

    j'ai mis with pivot pour essayer mais bien évidement je l'enlève je l'avais oublié. j'ai bien 2 columms dans ma table ingredient_recette. Capture d’écran 2021-12-28 à 23.08.13.png mais j'arrive bien a detach mais comme j'ai ma proprieté ingredients() et une table ingredients: Capture d’écran 2021-12-28 à 23.04.20.png donc je fait juste $laRecette->ingredients() pour recupérer tout les ingredients mais maintenant quand je dettache je récupére toujours les même ingrédients malgré qu'il soit dettaché

  • Réponse acceptée

    Ta relataion est mal faite, tu ne peux pas faire une relation manyToMany et tu rajoutes encore une cle etrangere c'est pour ca que ca marche pas. Tu dois supprimer le champ

    $this->foreignIdFor(Recette::class);

    A cause de ce champ tu as un souci au niveau de tes relations.

  • dani03
    dani @dani03

    merci beaucoup s'était ça l'erreur...

Veuillez vous connecter ou créer un compte pour participer à cette conversation.