Hello,
Je pense que ton problème vient d'une mauvaise compréhension des relations .
Si j'ai bien compris tu as un formulaire où tu vas pouvoir choisir plusieurs compétences.
Le problème avec ta méthode setCompétence c'est qu'elle prend un objet compétence en paramètre alors que ton formulaire envoi une collection de compétences du cou php te balance une ereur .
Dans ton entité tu as défini une relation many to one :
Je pense que tu devrais plutôt définir une relation OneToMany
et changer ton form avec
Normalement la relation compétences va être capable de gérer la persistance entre ta collection et la BDD quand tu fera un flush