如何使用Annotations实现带有元素数组的Zend Form实体?

时间:2017-03-08 20:51:31

标签: php annotations zend-framework3 zend-form2

我需要一个表单来记录“数据集”,其中每个集合包含几个数字。用户可以选择添加其他设置,但需要很多。在某些情况下,最多可输入70个这样的集合,从而需要一个数组。

enter image description here

查找Zend Form,我喜欢使用Annotations功能(https://docs.zendframework.com/zend-form/quick-start/#using-annotations)创建表单的方法,因为它给了我一个整洁的“对象”,我可以用它来做通过使用Doctrine将其直接保存到数据库,然后再检索它。

问题

如何使用Zend Form在PHP中定义表单,其中表单具有可扩展的元素集,我可以使用Doctrine管理该实体?

1 个答案:

答案 0 :(得分:0)

使用

/**
 * @Annotation\ComposedObject({
 * "target_object":"Namespace\Entity\ElementInput",
 * "is_collection":"true"
 * });
 *
 * @var ElementInput[]
 */
private $elements;

稍后定义要显示的元素数量:

$form->get("elements")->setCount($count);