我需要使用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'(失败)。