symfony 2如何在重定向时发送数据

发布于 2024-12-25 08:21:55 字数 446 浏览 0 评论 0 原文

我从数据库中获取一个对象,然后我想重定向到另一个控制器并将该对象发送到那里:

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

I fetch an object from a database and then I want to make a redirect to the other controller and send there that object:

$user = $this->getDoctrine()->getRepository('ShopMyShopBundle:Register')->find($id);

return $this->redirect($this->generateUrl('ShopMyShopBundle_homepage'), array('user' => $user));

How Can I get an object after redirecting and send to a template in the other controller function which looks like this:

public function indexAction()
{
    return $this->render('ShopMyShopBundle:Main:index.html.twig');
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

没︽人懂的悲伤 2025-01-01 08:21:56

您无法通过重定向发送对象。您可以做的是发送其唯一属性之一(可能是主键)并再次从数据库中获取它。就您而言,它可能是用户 ID 或昵称。

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

由于类型提示,将从数据库自动获取用户 通过它的昵称。

You can't send an object via a redirect. What you can do is send one of its unique properties (probably the primary key) and fetch it from the database again. In your case, it could be a user ID or nickname.

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

Thanks to the type hinting, the user will be fetched from the database automatically by its nickname.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文