我在我的Zend Framework 2项目使用Doctrine 2。 我现在已经创建了一个表格,并创建从数据库值我下拉框之一。 我现在的问题是,我想改变使用该值,而不是一个我回来从我的存储库。 好吧,这里的一些代码以便更好地理解:
$this->add(
array(
'type' => 'DoctrineModule\Form\Element\ObjectSelect',
'name' => 'county',
'options' => array(
'object_manager' => $this->getObjectManager(),
'label' => 'County',
'target_class' => 'Advert\Entity\Geolocation',
'property' => 'county',
'is_method' => true,
'empty_option' => '--- select county ---',
'value_options'=> function($targetEntity) {
$values = array($targetEntity->getCounty() => $targetEntity->getCounty());
return $values;
},
'find_method' => array(
'name' => 'getCounties',
),
),
'allow_empty' => true,
'required' => false,
'attributes' => array(
'id' => 'county',
'multiple' => false,
)
)
);
我要为我的选择是县名,而不是ID值。 我以为我会需要“value_options”,这需要一个数组。 我试了一下上面的一样,但得到的
错误消息: 传递给Zend的\表格\元素\选择:: setValueOptions(参数1)必须是类型的阵列,对象给出
这是可能的呢?