【发布时间】:2014-02-08 01:44:01
【问题描述】:
这个问题不是关于如何嵌入一个简单直接的实体我的问题是关于我看到的异常并且无法协调。
我有一个实体(联系人)我有一个“电子邮件”关系,并且希望能够在我的创建新方法中嵌入电子邮件。
所以我执行通常的嵌入步骤: 1)将我的收藏添加到我的表单(contactType.php)
->add('emails', 'collection', array(
'type' => new EmailType()
))
2) 在控制器中,我添加了一个新的空电子邮件实体并将其设置为我的表单的默认数据
$entity = new Contact();
$email = new Email();
$entity->addEmail($email);
$form->createForm(new ContactType(), $entity);
这就是问题发生的地方,进入“createForm”我的$entity有一个名为Emails的集合,出来的$form是一个空白的ContactType,没有附加电子邮件......就好像defaultData只是忽略。
如果您已经看到或知道为什么会发生这种情况,我希望能提供一些意见。
【问题讨论】:
-
尝试在您的电子邮件中添加 'allow_add' => true ->add('emails', 'collection', array( 'type' => new EmailType(), 'allow_add' => true ) ) 查看 symfony 文档:symfony.com/doc/current/reference/forms/types/…
-
您可以发布您的实体代码吗?
-
实际上我对实体的看法是错误的,只生成了一个默认的 crud,新操作完美地创建了整个表单,它只是添加了一个不起作用的集合。
标签: forms symfony doctrine-orm