无法为选择对象 Zend Framework 2 设置多个值选项



我正在尝试用一系列选项填充Zend Framework 2中的选择对象。基本上,我正在尝试获取所有目录并将它们设置为选项值和标签,但是当存在多个目录时,它只将一个目录作为选项值写入。这是我的代码:

$form = new AddPhotosForm();

foreach (glob(getcwd() . '/public/images/profile/' . $identity . '/albums/*', GLOB_ONLYDIR) as $dir) {
$form->get('copy-from-album')->setValueOptions(array(
array(
'value' => basename($dir), 'label' => basename($dir)
)
)); 
}

当我查看该选项时,它列出了最后一个目录,而不是所有目录。我认为它正在覆盖存储的值,但我不知道如何不让这种情况发生。

如果有帮助,这是我问题的屏幕截图:https://i.stack.imgur.com/PUmTP.jpg

目录列表截图:https://i.stack.imgur.com/fiVDt.jpg

就像我之前说的,它只在选择下拉菜单中显示目录测试album_2017_07_14。

任何帮助将不胜感激。

谢谢!

你应该把setValueOptions移出foreach。

$options = array();
foreach (glob(getcwd() . '/public/images/profile/' . $identity . '/albums/*', GLOB_ONLYDIR) as $dir) {
$options[] = array(
'value' => basename($dir), 'label' => basename($dir)
); 
}
$form->get('copy-from-album')->setValueOptions($options); 

问题是 setValueOptions 设置您选择的值,并且不会附加新值。

最新更新