我使用Symfony2几个月了。我能够完成CRUD等基本操作。 但是我现在面临一个问题,关于双实体形式行为。 我有一个独特的形式,其中有2个实体连接到2个不同的表:
其中每个email_id都是访客行中的外键。 每个访客可能没有电子邮件,而不是该特定行的空外键。
一旦用户发送了表单,就会将新记录保存到guest表中,但我希望将字段电子邮件(属于另一个实体)保存到另一个表中并执行一些检查:
我发现了许多关于实体形式CRUD操作的文章,但很少或根本没有关于如何根据Symfony2中的特定字段自定义插入/更新。
有人可以解释我该怎么做,或者是否有人知道文章/例子,请他能否向我报告那些文章?
这是以下形式的片段:
class InYourMindType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('title', 'text', array(
'label' => 'label_think_title',
'required' => true,
'attr' => array(
'title' => 'label_think_title',
'class' => 'form-control'
)
))->add('thinkFriend',
new InYourMindFriendType
其中新的InYourMindFriendType是电子邮件。而是在控制器的代码段下面。目前只是一种保存表格的简单方法
function sendInYourMindAction(Request $request)
{
$EnForm = new InYourMind;
$form = $this->createForm(new InYourMindType, $EnForm);
if ($request->getMethod() === 'POST') {
$form->bind($request);
if ($form->isValid()) {
$em = $this->getDoctrine()
->getEntityManager();
$em->merge($EnForm);
$em->flush();
$this->get('session')
->getFlashBag()
->set('think-success-notice', 'message successfully sent');
return $this->redirect($this->generateUrl('commonMainBundle_homepage'));
}
}
return 'something';
}