【发布时间】:2014-10-07 00:53:24
【问题描述】:
我正在使用实体将一些角色数据捕获到选择字段中。这工作正常。发送表单后,我可以访问选项的值,如下所示:
object(Pr\UserBundle\Entity\Group)#1582 (3) {
["id":protected]=> int(2)
["name":protected]=>string(13) "Chief Roca"
["roles":protected]=> string(21) "ROLE_CUSTOMER_MANAGER"
}
现在,如果我想通过
保存它$userData ->setRoles($form->get('usergroups')->getData());
我最终出现以下错误
Catchable Fatal Error: Argument 1 passed to FOS\UserBundle\Model\User::setRoles()
must be of the type array, object given, called in /var/www/symfony/webprojekt/src/Pr/UserBundle/Controller/AdminController.php
on line 427 and defined in /var/www/symfony/webprojekt/vendor/friendsofsymfony/user-bundle/FOS/UserBundle/Model/User.php line 530
我该如何处理?我需要对其进行编码吗?我认为,如果我是对的,角色将被存储为一个数组,但我不确定如何通过那里:(
谁能给我一个提示?
【问题讨论】:
-
看来你正在尝试和stackoverflow.com/questions/8388080/…做同样的事情
-
试试
$userData ->setRoles($form->get('usergroups')->getData()->getRoles());或$userData ->addRole($form->get('usergroups')->getData()->getRoles());
标签: arrays forms symfony object transform