Bonjour

Nouveau sur symfony, je cherche à enregistrer un commentaire.
Je suis sur la Article.show et je voudrai qu'un user puisse laisser un commentaire.
Les entity ont bien leur relation Onetomany(OTM) et manytoOne(MTO).
article => OTM => commentaire
Commentaire => MTO => Article
Mon form se soumet et voila l'erreur qui pointe son nez.
Argument 1 passed to App\Entity\Commentaire::setArticle() must be an instance of App\Entity\Article or null, string given

J'ai lu et parcourus depuis plus d'une semaine les docs de symfony, les forums, etc... et j'ai recommencé une dizaine de fois en changeant les relations, mais rien n y fait.

Je suis sûr que ce n'est rien a faire. peut etre ai-je oublié un bout code à un endroit?
Pourriez-vous m'aider à comprendre doctrine et sa façon d'enregistrer ses relations?

Merci pour votre aide.

1 réponse


Bonjour,

Pour commencer par le commencement..., le message d'erreur n'est pas lié à un problème de conception de relation au niveau de la BDD, c'est une pure erreur PHP.

Traduction du message d'erreur : le paramètre 1 de la méthode "setArticle()" de la classe "App\Entity\Commentaire" doit être un objet instance de la class "App\Entity\Article" ou NULL, or on lui fourni une chaine de caractère.

Il faudrait te rendre à la ligne où sa pete, comprendre pourquoi le paramètre fourni est une chaine de caractères et voir comment corriger.

Bon courage,

Mickaël