Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.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
Symfony 我如何做确认窗口?_Symfony_Twig - Fatal编程技术网

Symfony 我如何做确认窗口?

Symfony 我如何做确认窗口?,symfony,twig,Symfony,Twig,我想在填写表单时创建一个确认窗口 现在,我填写表单,如果表单有效,实体将被持久化,并返回一个以我的实体作为参数的视图。但这不是我想要的 如果表单有效,我不想保留实体。如果有效,则必须使用我的parameterentity显示一个视图,然后如果我的用户单击按钮确认,则保留该实体并重定向到其他视图。如果用户单击按钮返回,我将使用JavaScript函数:JavaScript:history.back1 如何做到这一点?一个简单的方法是将绑定的实体存储在闪存会话中,并在确认持久性后检索它 在存储表单操

我想在填写表单时创建一个确认窗口

现在,我填写表单,如果表单有效,实体将被持久化,并返回一个以我的实体作为参数的视图。但这不是我想要的

如果表单有效,我不想保留实体。如果有效,则必须使用我的parameterentity显示一个视图,然后如果我的用户单击按钮确认,则保留该实体并重定向到其他视图。如果用户单击按钮返回,我将使用JavaScript函数:JavaScript:history.back1


如何做到这一点?

一个简单的方法是将绑定的实体存储在闪存会话中,并在确认持久性后检索它

在存储表单操作中:

if ($form->isValid()) {
    $myEntity = $form->getData();
    $this->get('session')->setFlash('my_entity', $myEntity);

    return $this->render('MyBundle:Controller:confirmation.html.twig', array(
        'entity' => $myEntity
    ));
}
在确认保存操作中:

$myEntity = $this->get('session')->getFlash('my_entity');
$this->em->persist($myEntity);
$this->em->flush();

这只是一个基本示例,需要将其应用于您的项目。

执行此操作时,EntityManager会尝试保留一个空实体并显示此异常:null 500内部服务器错误-InvalidArgumentException