Partage
  • Partager sur Facebook
  • Partager sur Twitter

Bug Symfony relations ?

Sujet résolu
    15 septembre 2021 à 14:15:09

    Bonjour à tous :o,

    Je rencontre un bug sur mon blog Symfony 5.

    J'ai fait créé des propriétés pour pouvoir ajouter manuellement des articles en suggestions qui seront affichés à la fin d'un article.
    Je souhaitais avoir 3 articles à lier. Je les affiche en liste dans le form de l'article.

    Ca fonctionne mais si j'ajoute le même articles en suggestion dans 2 articles différents j'ai une erreur :
    An exception occurred while executing 'UPDATE articles SET updated_at = ?, article_suggest_1_id = ? WHERE id = ?' with params ["2021-09-15 11:50:08", 1, 2]:
    SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicata du champ '1' pour la clef 'UNIQ_BFDD3168C1ED1F6D

    Si je souhaite supprimer un article qui a des articles liés enregistré erreur:
    An exception occurred while executing 'DELETE FROM articles WHERE id = ?' with params [25]:
    SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails (mpem1.articles, CONSTRAINT FK_BFDD3168C1ED1F6D FOREIGN KEY (article_suggest_1_id) REFERENCES articles (id))

    Je pense avoir mal fait les relations, ca serait pllutot du OneToMany? (car des articles différents peuvent avoir le/les mêmes articles liés)

    De plus je comprends pas pourquoi mon $article_suggest_2 est différentes des autres dans mon entité :x

    Si quelqu’un a une idée, je suis bloqué depuis ce matin dessus

    entité Articles: https://sharemycode.io/c/47280d7
    mon form Articles :https://sharemycode.io/c/12f1297

    Merci à tous :magicien:

    -
    Edité par ColorInk 15 septembre 2021 à 14:15:40

    • Partager sur Facebook
    • Partager sur Twitter
      15 septembre 2021 à 20:17:47

      Salut

      Il eut été préférable de fournir le code ici. Là, tu fournis des URLs qui ne sont même pas des liens, c'est vraiment peu pratique.

      Qui plus est, tu as fait des relations OneToOne avec trois colonnes : il aurait été plus intéressant de faire une relation ManyToMany et de limiter le nombre à 3 avec une contrainte de validation.

      Là, le souci est à mon avis que le côté qui possède la relation n'est pas le bon pour une des trois. D'ailleurs, dans les trois relations, il y en a une qui est bidirectionnelle, et je pense que ça pourrait bien être celle qui pose problème justement.

      • Partager sur Facebook
      • Partager sur Twitter
        13 octobre 2021 à 18:01:12

        Merci pour ta réponse.

        Avec un peut de retard, j'ai en fait changé les relations en ManyToOne et ca fonctionne parfaitement.

        Merci encore !

        -
        Edité par ColorInk 13 octobre 2021 à 18:01:44

        • Partager sur Facebook
        • Partager sur Twitter

        Bug Symfony relations ?

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown