Я работаю над Zend Framework 2, особенно с Zend Forms. Я объявил раскрывающийся список "Выбрать" в
Форма:
$selectElement = new Element\Select('selectElement');
$selectElement->setAttribute('title', 'Select a Value')
->setAttribute('id', 'id');
$data = array(
array(
//Fetching the values from database
),
);
$selectElement->setAttribute('multiple', 'multiple')
->setValueOptions($data);
$this->add($selectElement);
InputFilter:
$inputFilter->add($factory->createInput(array(
'name' => 'selectElement',
'required' => false,
'filters' => array(
array(
'name' => 'Int'
),
),
)));
Я использовал Zend Debug, чтобы получить значения, которые находятся в выпадающем списке selectElement, следующим образом:
$dataSelectElements = $this->getRequest()->getPost('selectElement');
\Zend\Debug\Debug::dump($dataSelectElements);
Результат отладки:
array(4) {
[0] => string(2) "20"
[1] => string(2) "22"
[2] => string(2) "23"
[3] => string(2) "75"
}
В основном я получаю идентификатор из формы selectElement, чтобы сохранить его в базе данных. Прямо сейчас я получаю уведомление и ошибку формы zend:
Уведомление об ошибке:
Notice: Array to string conversion in ..\zendframework\zendframework\library\Zend\Filter\Int.php on line 29
И ошибка неверной формы:
array(1) {
[0] => array(1) {
["selectElement "] => array(1) {
["explodeInvalid"] => string(35) "Invalid type given. String expected"
}
}
}
Есть ли решение этой проблемы. Любая помощь будет оценена по достоинству.