2012-05-01 8 views
0

양식을 채울 때 확인 창을 만들고 싶습니다.어떻게 확인할 수 있습니까?

지금은 양식을 채우고 양식이 유효한 경우 엔티티가 유지되고 매개 변수로 내 엔티티가 포함 된보기가 반환됩니다. 그러나 이것은 내가 원하는 것이 아닙니다.

양식이 유효하면 엔티티를 유지하고 싶지 않습니다. 그것이 유효하다면 내 매개 변수 (엔티티)를 사용하여보기를 표시해야하고 내 사용자가 확인 버튼을 클릭하면 엔티티가 유지되고 다른보기로 리디렉션됩니다. 사용자가 버튼을 클릭하여 돌아 오면 JavaScript 함수 인 javascript:history.back(1)을 사용합니다.

어떻게 할 수 있습니까?

답변

0

쉬운 방법은 바인딩 된 엔터티를 세션 (플래시)에 저장하고 지속성을 확인한 후 검색하는 것입니다. 당신의 "saveForm"조치에

:

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

    return $this->render('MyBundle:Controller:confirmation.html.twig', array(
     'entity' => $myEntity 
    )); 
} 

그리고 당신의 "confirmSave"행동 :

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

그것은 단지 기본 예제는 IT 프로젝트에 adaped 될 필요가있다.

+0

이렇게하면 EntityManager가 null 엔티티를 유지하고이 예외를 표시하려고합니다. NULL 500 내부 서버 오류 - InvalidArgumentException – Biruwon

+0

플래시 var가 null입니까? –

관련 문제