【发布时间】:2015-10-01 13:05:26
【问题描述】:
我是 Symfony2 的新手,有一个问题。我已经成功地创建了一个表单并从我的选择框中的另一个表中获取值。
但是当我想保存表单时,它给出了一个错误。
这是我的构建器代码:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('userId', 'entity', array(
'class' => 'AppBundle:User',
'choice_label' => 'name',
'expanded' => false,
'multiple' => false,
'label' => 'Select user',
))
->add('title')
->add('timestamp')
->add('text')
;
}
这一切都完全按照我想要的方式显示,但是当我保存时出现此错误:
Catchable Fatal Error: Object of class AppBundle\Entity\User could not be converted to string
这完全有道理,因为表单显然没有提交选择框的值,而是给出了整个对象作为回报。
private 'userId' =>
object(AppBundle\Entity\User)[852]
...
所以我的问题是:如何获得要发布的正确值? (用户的 ID,而不是对象)。
这可能是一个非常愚蠢的问题,但我是 Symfony 的新手,所以请温柔:-)
谢谢。
乔纳森
【问题讨论】:
-
你能添加你的用户实体吗?也许你错过了映射
标签: php forms symfony entity builder