Symfony 2, как отправить данные при перенаправлении - PullRequest
1 голос
/ 07 января 2012

Я получаю объект из базы данных, а затем хочу перенаправить на другой контроллер и отправить туда этот объект:

$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');
}

1 Ответ

3 голосов
/ 07 января 2012

Вы не можете отправить объект через редирект.Что вы можете сделать, это отправить одно из его уникальных свойств (возможно, первичный ключ) и снова извлечь его из базы данных.В вашем случае это может быть идентификатор пользователя или псевдоним.

/**
 * @Route("/shop/{nickname}", name="shop_index")
 */
public function indexAction(User $user)
{
    // ...
}

Благодаря подсказке типа пользователь будет извлекаться из базы данных автоматически по его нику.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...