我正在使用zendframework 2和doctrine 2.我想从我的数据库中的值填充复选框的值(依赖注入)。
我从https://github.com/doctrine/DoctrineModule/blob/master/docs/form-element.md
获得了这项技术这是我的元素(它适用于选择元素,但不适用于复选框):
$this->add(array(
'type' => 'Zend\Form\Element\MultiCheckbox',
'name' => 'timesId',
'options' => array(
'label' => 'Please Select Your Availablity',
'value_options' => array(
'object_manager' => $this->getObjectManager(),
'target_class' => 'FormDependencies\Entity\AvailablityTimeTableList',
'property' => 'job',
),
),
'attributes' => array(
'value' => '1' //set checked to '1'
)
));
public function getObjectManager()
{
return $this->objectManager;
}
我无法找到复选框的本机doctrine 2方法。
错误消息:
致命错误:无法使用Doctrine \ ORM \ EntityManager类型的对象作为数组
答案 0 :(得分:0)
我已经解决了;
在类型i下的需要指定它的a:
'type' => 'DoctrineModule\Form\Element\ObjectMultiCheckbox',
完整代码:
$this->add(array(
'type' => 'DoctrineModule\Form\Element\ObjectMultiCheckbox',
'name' => 'timesId',
'options' => array(
'label' => 'Please Select Your Availablity',
'object_manager' => $this->getObjectManager(),
'target_class' => 'FormDependencies\Entity\AvailablityTimeTableList',
'property' => 'times',
'empty_option' => '--- please choose ---'
),