2013-07-15 2 views
1

Я работаю на Symfony 2.2 и у меня есть вопрос, когда я попытке удалить получить переменную, например, сообщение в этом URL: myurl сообщение = MyMessageУдалить GET переменную Symfony2

Это не работает.

public function myfunction1() { 
....  
return $this->redirect($this->generateUrl('_admin_credit', array("message" => $message))); // generate the url : myurl?message=mymessage 
} 

/** 
* @Route("/credit", name="_admin_credit") 
*/ 
public function getCreditAction($) { 
$request = $this->getRequest(); 

$message = $request->query->get('message'); // this works 
$request->query->remove('message'); // this work in the function but do not change the url 

return $this->render('MyBundle:Admin:credit.html.twig', array(
        'message' => $message 
       )); // still the same url : myurl?message=mymessage 
} 

ответ

3

$request->query->remove('message'); удалит только от параметра Я в ParameterBag.

Если вы хотите удалить это из URL-адреса, вы должны указать redirect URL-адреса без параметра.

В дополнение, если вы хотите сохранить значение message, вы можете использовать Flash Message, чтобы сохранить его между двумя запросами. Это означает: вы можете получить параметр, сохранить его, перенаправить на другой URL и вызвать значение один раз из сеанса.

Смежные вопросы