我从数据库中获取一个对象,然后我想重定向到另一个控制器并在那里发送该对象:
$user = $this->getDoctrine()->getRepository('ShopMyShopBundle:Register')->find($id);
return $this->redirect($this->generateUrl('ShopMyShopBundle_homepage'), array('user' => $user));
如何在重定向并发送到另一个控制器函数中的模板后获取对象,如下所示:
public function indexAction()
{
return $this->render('ShopMyShopBundle:Main:index.html.twig');
}
答案 0 :(得分:3)
您无法通过重定向发送对象。你可以做的是发送它的一个独特属性(可能是主键)并再次从数据库中获取它。在您的情况下,它可以是用户ID或昵称。
/**
* @Route("/shop/{nickname}", name="shop_index")
*/
public function indexAction(User $user)
{
// ...
}
由于类型提示,将通过其昵称从数据库automatically中提取用户。