Zend метод setData предотвращает работу Collection :: setCount - PullRequest
0 голосов
/ 15 мая 2018

У меня есть Zend_Form с коллекцией элементов Select.Я хочу увеличить количество элементов в этой коллекции, сохраняя при этом любой выбранный ранее выбор (предыдущие выборы сохраняются в запросе POST).

Я использую $form->setData($data);, чтобы сохранить значения в запросе POST вZend_Form.

Затем я использую $form->get('countryTest')->setCount(9);, чтобы попытаться увеличить количество элементов Selection в коллекции.Однако setCount(), похоже, не меняет счет при использовании в сочетании с setData().Есть идеи почему?Что мне делать вместо этого?

Моя коллекция:

$this->add(array(
            'name' => 'countryTest',
            'type' => 'Collection',
            'options' => array(
                'label' => '',
                'count' => 3,
                'should_create_template' => true,
                'target_element' => array(
                    'type' => 'Select',
                    'options' => array(
                        'label' => 'Country',
                    ),
                ),
            ),
        ));

РЕДАКТИРОВАТЬ:

Я также пытался создать новый Zend_Form с большимколичество элементов в Collection и THEN, использующих setData(), но при этом кажется, что это уменьшает количество элементов в Collection до количества элементов в данных (вероятно, как и ожидалось).

1 Ответ

0 голосов
/ 15 мая 2018

Нашел решение:

Сделайте количество элементов, которые я хочу представить в массиве (в виде ключей), которое я передаю в setData().

...