Bonjour,
je débute avec symfony (4) et je bloque sur l'enregistrement d'un formulaire.
Voici le code du formulaire:
$builder
->add('name', TextType::class, array('label' => 'Nom de la catégorie : '))
->add('parent', EntityType::class, array(
// looks for choices from this entity
'class' => Category::class,
'required' => false,
'query_builder' => function (EntityRepository $er) {
return $er->createQueryBuilder('u')
->where('u.parent = 1')
->orderBy('u.name', 'ASC');
},
'label_format' => 'Catégorie parent',
'choice_label' => 'name',
'placeholder' => 'Aucune',
'choice_value' => 'id',
'empty_data' => null
)) $builder
->add('name', TextType::class, array('label' => 'Nom de la catégorie : '))
->add('parent', EntityType::class, array(
// looks for choices from this entity
'class' => Category::class,
'required' => false,
'query_builder' => function (EntityRepository $er) {
return $er->createQueryBuilder('u')
->where('u.parent = 1')
->orderBy('u.name', 'ASC');
},
'label_format' => 'Catégorie parent',
'choice_label' => 'name',
'placeholder' => 'Aucune',
'choice_value' => 'id',
'empty_data' => null
))
->add('title', TextType::class, array('label' => 'Title SEO : '))
->add('metadescription', TextareaType::class, array(
'label' => 'Description SEO : ',
'attr' => array('class' => 'tinymce'),
))
->add('submit', SubmitType::class, ['label'=>'Envoyer', 'attr'=>['class'=>'btn-primary btn-block']])
;
Celui-ci s'affiche correctement.
Mon problème: J'ai l'erreur suivante:
Expected argument of type "integer", "App\Entity\Category" given.
Je comprend que l'on attend un integer mais c'est ce que je pense envoye, non?:
<select id="category_parent" name="category[parent]" class="form-control">
<option value="">Aucune</option>
<option value="1">catégorie 1</option>
<option value="3">categorie 2</option>
</select>
Voilà l'élément dans mon entité:
/**
* @ORM\Column(name="parent", type="integer",options={"default":0})
*/
private $parent;
Merci beaucoup de votre aide