Page 1 sur 1

Symfony : Checkbox Multiplde

Posté : 02 mai 2019, 17:41
par Zyrgator
Hello tout le monde,

Dans un formulaire j'aimerais que l'user puisse sélectionner plusieurs éléments, seulement quand j'essaye d'appliquer la documentation ( que je dois mal comprendre ) j'obtiens ce message d'erreur :

Expected argument of type "string or null", "array" given at property path "caractere_emotion".


Mon PersonnageType.php :

->add('caractere_emotion', ChoiceType::class, [
                'required' => false,
                'label' => 'Émotions',
                'choices' => [
                    'Actif' => 'Actif',
                    'Créatif' => 'Créatif',
                    'Génie' => 'Génie',
                    'Créatif' => 'Créatif',
                    'Joyeux' => 'Joyeux',
                    'Morose' => 'Morose',
                    'Pitre' => 'Pitre',
                    'Romantique' => 'Romantique',
                    'Sang Chaud' => 'Sang Chaud',
                    'Sûr de lui' => 'Sûr de lui',
                ],
                'expanded' => true,
                'multiple' => true,
            ])

Mon entité Personnage :

   /**
     * @ORM\Column(type="array", nullable=true)
     */
    private $caractere_emotion;
    

Je ne vois pas trop ce que je dois modifier.

Merci par avance pour votre aide.

Re: Symfony : Checkbox Multiplde

Posté : 03 mai 2019, 14:57
par Saian
Salut, à quelle moment as tu cette erreur ? lors du rendu du formulaire ? lors de sa soumission ? que dit la stacktrace de la page d'exception Symfony ?

Re: Symfony : Checkbox Multiplde

Posté : 03 mai 2019, 15:38
par Zyrgator
Hello,
J'ai ce message lors de la soumission du formulaire.

Re: Symfony : Checkbox Multiplde

Posté : 03 mai 2019, 16:26
par Saian
Et que dit la page d'exception en détail ?

Re: Symfony : Checkbox Multiplde

Posté : 03 mai 2019, 16:50
par Zyrgator
Alors la capture d'écran que me renvoie le exception : http://zupimages.net/viewer.php?id=19/18/q2hr.png

Re: Symfony : Checkbox Multiplde

Posté : 04 mai 2019, 11:27
par Zyrgator
J'ai réessayé et ça marche en créant une nouvelle entité. En fait, j'ai l'impression que c'est lorsque j'ai créé mon entité au tout début via la console, j'avais attribué comme type string au lieu de array. C'est après dans l'entité que je l'ai modifié en array. J'ai ensuite utilisé la commande php bin/console doctrine:schema:update --force pour mettre à jour mais nop... donc je ne vois pas pourquoi.

Re: Symfony : Checkbox Multiplde

Posté : 14 mai 2019, 18:59
par Saian
Salut, en effet le message d'erreur colle bien avec ce que tu décris. Le ChoiceType qui retourne un array mais l'entité qui attend un string ou null.
Tu dis qu'après modification de l'entité et mise à jour de la base de données tu obtiens toujours cette même erreur ?
Si tu utilises un cache au niveau de l'ORM le problème pourrait peut être venir de là ? il suffirait dans ce cas de nettoyer ce cache.