【发布时间】:2026-01-02 05:00:01
【问题描述】:
我之前在 SO 上搜索过这个,但似乎给出的唯一答案是当参数作为查询字符串传递时,这不是我想要的。
我的 Symfony 3 CRM 中有一个带有路由 app_litter 的页面。有一个必需的 URL slug 称为 litter_id,需要将其传递给路由以确定要显示哪些垃圾数据,如下所示:
/litter/1
我在路由文件中的路由定义是:
app_view_litter:
path: /litter/{id}
defaults: { _controller: AppBundle:Litter:view, id: null }
requirements:
id: \d+
有一个功能允许用户将小狗添加到他们的垃圾中,这是此页面之外的一个表单 - 一旦成功保存了小狗,我想将用户重定向回有问题的垃圾,所以我做了这个:
return $this->redirectToRoute('app_litter', array('litter_id' => $litter->getId()));
$litter 是从 Symfony 检索到的对象。但是,这会重定向到:
/litter?litter_id=1
这不起作用,因为它需要一个蛞蝓。是否可以使用redirectToRoute()(或任何其他方法)以 slug 而不是查询字符串来呈现路由?
【问题讨论】:
-
显示您的路线定义。
-
@BorisGuéry 已将其添加到问题中。