Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Forms 一旦ZF2表单绑定到条令2实体,如何从该表单获取“其他”数据?_Forms_Validation_Doctrine Orm_Zend Framework2_Zend Form2 - Fatal编程技术网

Forms 一旦ZF2表单绑定到条令2实体,如何从该表单获取“其他”数据?

Forms 一旦ZF2表单绑定到条令2实体,如何从该表单获取“其他”数据?,forms,validation,doctrine-orm,zend-framework2,zend-form2,Forms,Validation,Doctrine Orm,Zend Framework2,Zend Form2,我有一个表单,是我使用Doctrine 2实体上的注释创建的。是的,我知道它很慢;这就是我学习的方法,我正在遗留代码中使用它。但这可能适用于从零开始制作的表单 不管怎样,情况是这样的。该实体具有相当标准的用户信息:姓名、电子邮件、性别等。它还具有一对多属性,称为角色。因此,我采用了使用AnnotationBuilder构建的表单,并添加了一个名为roleId的select元素,以允许用户选择用户的角色。在那里,一旦表单被验证,我想获取roleId值,从数据库中获取相应的实体,然后转到$user-

我有一个表单,是我使用Doctrine 2实体上的注释创建的。是的,我知道它很慢;这就是我学习的方法,我正在遗留代码中使用它。但这可能适用于从零开始制作的表单

不管怎样,情况是这样的。该实体具有相当标准的用户信息:姓名、电子邮件、性别等。它还具有一对多属性,称为角色。因此,我采用了使用AnnotationBuilder构建的表单,并添加了一个名为roleId的select元素,以允许用户选择用户的角色。在那里,一旦表单被验证,我想获取roleId值,从数据库中获取相应的实体,然后转到$user->setRole$role

这就是我遇到麻烦的地方。如果我使用$form->bind$user,然后使用$form->isValid,那么当我调用$form->getData时,我最终得到的是用户实体,而不是表单中经过过滤和验证的数据数组


那么我应该如何处理这种情况呢?一旦表单绑定到实体,是否有某种方法可以从表单中获取所有过滤和验证数据的平面数组?

验证后,您需要添加:$roles=$form->get'roles'->getValue;并进一步将foreach$roles设置为$role$user->addRole$role。我也遇到过同样的情况,但我不知道我是否解决得对。