0

我需要使用site_edit带有额外查询参数“company”=1 的路线。路线如下:

@Route("/_sys/site/edit/{id}", name="site_edit", defaults={"id"=null})

Symfony2 生成的链接/_sys/site/edit?comp=1对我来说看起来不错。虽然 $_GET 是数组('comp'=>'1'),但它可以执行操作,但 Request#query 是空的。如果我将查询字符串调整为,/_sys/site/edit/?comp=1则找不到匹配的路由。如果我为 {id} 插入一些值,/_sys/site/edit/new?comp=1那么一切都很好($id="new" 并且 Request#query 是数组('comp'=>'1')但是这种情况是应用程序逻辑不能容忍的,我不能改变.

我需要一条结构非常相似的路线,其中恰好存在一个参数 comp 和 id。所以需要将 url 生成为 [twig]url('site_edit', {'id':positiveInteger})url('site_edit', {'comp':positiveInteger}).

这是一个错误吗?恕我直言,/_sys/site/edit?comp=1之前的部分?应该使用 {id}=null (ok) 和之后的部分来启动操作?应确保 Request#query-get('comp') 产生 '1'(失败)。

4

1 回答 1

0

关于什么

@Route("/_sys/site/edit/{id}/comp/{comp}", name="site_edit", 
        defaults={"id"=null})

您可以为 comp 分配一个默认值,如果您愿意,可以将其视为 emtpy。

于 2012-10-28T05:41:03.417 回答