Как установить выбранную опцию в ObjectSelect

Я работаю с ZF2 и Doctrine2 и создал форму для класса Place. Это место имеет свойство Провинция, которое я хотел бы отобразить как поле "Выбрать". Все отлично работает, когда я добавляю новые Места, но когда я пытаюсь отредактировать одно, я не знаю, как установить для атрибута "selected" правильный параметр Option в поле Select. На экране редактирования я получаю следующий код:

...
<select name="lugar[localidad][provincia][select]">
    <option value="">Seleccione provincia...</option>
    <option value="1">Capital Federal</option>
    <option value="2">Buenos Aires</option>
</select>
...

Я хотел бы получить это вместо этого (при условии, что редактируемый объект имеет провинцию Буэнос-Айрес):

...
<select name="lugar[localidad][provincia][select]">
    <option value="">Seleccione provincia...</option>
    <option value="1">Capital Federal</option>
    <option value="2" selected>Buenos Aires</option>
</select>
...

Это код набора полей, который содержит ObjectSelect:

class LocalidadFieldSet extends Fieldset /*implements InputFilterAwareInterface*/
{

    public function __construct(ObjectManager $objectManager)
    {
        parent::__construct('localidad');

        $this->setHydrator(new DoctrineObject($objectManager))->setObject(new Localidad());

        $provinciaFieldSet = new ProvinciaFieldSet($objectManager);
        $this->add($provinciaFieldSet);

        $this->add(array(
            'name' => 'select',
            'type' => 'DoctrineModule\Form\Element\ObjectSelect',
            'options' => array(
                'object_manager' => $objectManager,
                'target_class' => 'Application\Entity\Localidad',
                'property' => 'nombre',
                'label' => 'Localidad',
                'empty_option' => 'Seleccione localidad...'
            )
        ));
    }
}

Вот где предыдущий FieldSet включен в его родительский FieldSet:

$localidadFieldSet = new LocalidadFieldSet($objectManager);
$this->add($localidadFieldSet);

Если моя сущность имеет следующие свойства: $id $name

Я понимаю, что соответствующий FieldSet должен иметь только элемент Select, и когда объект привязан, он должен установить соответствующий параметр как "выбранный". Я прав?

1 ответ

Решение

Я неправильно получил название элемента Select. Я изменил его с "select" на "id", и теперь он правильно устанавливает значение.

Другие вопросы по тегам