特に Zend Forms を使用して、Zend Framework 2 に取り組んでいます。Selectドロップダウンボックスを宣言しました
形:
$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->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フォームからIDを取得してデータベースに保存します。現在、通知と 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"
}
}
}
この問題を克服する解決策はありますか。どんな助けでも大歓迎です。