Checkbox Zend formBuilder在呈现复选框时引发异常

Checkbox Zend formBuilder在呈现复选框时引发异常,checkbox,zend-framework2,annotations,formbuilder,zend-form-element,Checkbox,Zend Framework2,Annotations,Formbuilder,Zend Form Element,我尝试在模型中使用Zend Framework 2 formBuilder和注释,但在尝试呈现复选框时引发异常: 模型特性注释: /** * @var boolean $Content * * @ORM\Column(name="Content", type="boolean", nullable=false) * @Annotation\Attributes({"type":"checkbox"}) * @Annotation\Options({"label":"Value:"})

我尝试在模型中使用Zend Framework 2 formBuilder和注释,但在尝试呈现复选框时引发异常:

模型特性注释:

/**
 * @var boolean $Content
 *
 * @ORM\Column(name="Content", type="boolean", nullable=false)
 * @Annotation\Attributes({"type":"checkbox"})
 * @Annotation\Options({"label":"Value:"})
 * @Annotation\AllowEmpty({"true"})
 * @Annotation\Filter({"name":"Boolean"})
 */
protected $Content = true;
来自表单模板的HTML(phtml)

在调用formCheckbox()之前查看堆栈跟踪,我可以看到元素属性,包括'type=>“checkbox”'

我甚至尝试过将“checkbox”改为\Zend\Form\Element\checkbox和Zend\\Form\\Element\\checkbox,但都没有成功

非常感谢您的帮助。

根据我的评论:

必须将类型设置为注释,以便FormBuilder知道要创建哪个元素(默认值应为文本)

/**
*@var boolean$Content
*
*@ORM\Column(name=“Content”,type=“boolean”,nullable=false)
*
*@Annotation\Type(“Zend\Form\Element\Checkbox”)
*@Annotation\Attributes({“type”:“checkbox”})
*@Annotation\Options({“label”:“Value:”})
*@Annotation\AllowEmpty({“true”})
*@Annotation\Filter({“name”:“Boolean”})
*/
受保护的$Content=true;

我认为您缺少注释
@Annotation\Type(“Zend\Form\Element\Checkbox”)
。如果是这样的话,我会发布一个答案。施韦特,我做到了——谢谢
        <div id="Content">
            <?= $form->get('Content)->getLabel(); ?>
            <?= $this->formCheckbox($form->get('Content)); ?>
        </div>
 PHP Fatal error:  Uncaught exception 'Zend\\Form\\Exception\\InvalidArgumentException' with message 'Zend\\Form\\View\\Helper\\FormCheckbox::render requires that the element is of type Zend\\Form\\Element\\Checkbox' in /media/finaoweb/doctrine-test/vendor/zendframework/zend-form/src/View/Helper/FormCheckbox.php:29
Stack trace:
#0 /media/finaoweb/doctrine-test/vendor/zendframework/zend-form/src/View/Helper/FormInput.php(101): Zend\\Form\\View\\Helper\\FormCheckbox->render(Object(Zend\\Form\\Element))
#1 [internal function]: Zend\\Form\\View\\Helper\\FormInput->__invoke(Object(Zend\\Form\\Element))
#2 /media/finaoweb/doctrine-test/vendor/zendframework/zend-view/src/Renderer/PhpRenderer.php(393): call_user_func_array(Object(Zend\\Form\\View\\Helper\\FormCheckbox), Array)
#3 /media/finaoweb/doctrine-test/module/Application/view/application/itemoption/edititemoption.phtml(34): Zend\\View\\Renderer\\PhpRenderer->__call('formCheckbox', Array)