Я хочу установить форму с "preferred_choices" поверх моего поля выбора HTML, соответствующего предыдущим представленным данным, выбранным пользователем. Я хочу построить поле объекта с постоянным списком И элементом верхнего уровня preferred_choices, если форма была ранее отправлена.
Я никогда не запускал эту функцию в symfony2. Можете ли вы помочь мне правильно построить свою полевую форму.
Почему мои опции preferred_choices ничего не выбирают при создании формы? Я устанавливаю это с правильным объектом, установленным ранее в коде.
public function buildForm(FormBuilderInterface $builder, array $options)
{
$defaultCQSsearch = new CqsProSansMarque();
$defaultCQSsearch->setRayLibelle((!array_key_exists('ray_libelle', $options['attr'])) ? null : $options['attr']['ray_libelle']);
$defaultCQSsearch->setFamLibelle((!array_key_exists('fam_libelle', $options['attr'])) ? null : $options['attr']['fam_libelle']);
$defaultCQSsearch->setCaeLibelle((!array_key_exists('cae_libelle', $options['attr'])) ? null : $options['attr']['cae_libelle']);
$builder
->add('ray_libelle', 'entity', array(
'class' => 'ApplicationDriveBundle:CqsProSansMarque',
'data_class' => 'Application\DriveBundle\Entity\CqsProSansMarque',
'property' => 'ray_libelle',
'query_builder' => function(CqsProSansMarqueRepository $er){
return $er->createQueryBuilder('a')
->select('a')
->groupBy('a.ray_libelle');
},
'preferred_choices' => array($defaultCQSsearch),
'label' => 'rayon',
'required' => false,
))
preferred_choices
ожидает массив значений, но вы передаете массив объекта (т.е. $defaultCQSsearch
)