使用GET参数在Symfony 5中生成URL

穆洛特

在Symfony 5中,我想部分根据已经发布的GET参数生成一个URL。

假设发布的URL是:

user/edit/5?foo=1&bar=1&baz=1&qux=1

我想在控制器中生成,而无需foo

user/edit/5?bar=1&baz=1&qux=1

首先,我删除foo参数:

$request->query->remove('foo');

如果我没有user_id在URL中获取路由参数(5),则可以使用:

$this->generateUrl('user_edit', $request->query->all());

但这不起作用,因为user_id丢失了。因此,如何在不重写所有变量的情况下生成此类URL:

$this->generateUrl('user_edit', ['id' => $user->getId(), ???]);

我当时在考虑PHP函数,array_merge()但是对我来说,这似乎是一个技巧,而不是一个优雅的解决方案:

$this->generateUrl('user_edit', array_merge(
    ['id' => $user->getId()],
    $request->query->all())
);
伊维

使用没什么错array_merge()那正是您想要完成的。这不是“技巧”,而是一种语言功能。

如果您想使用不太冗长的语法,请使用+

$this->generateUrl('user_edit', $request->query->all() + ['id' => $user->getId()]);

最终结果与上述完全相同,并且更短。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Symfony2中生成的URL的用例?

在Symfony 4中生成CRUD

使用boto3在S3中生成签名URL

在一个Symfony Controller操作中生成许多URL

使用参数修改symfony表单的url

使用 Url.Link 在 Web API 中生成链接

如何在Symfony 4中生成唯一的ID?

如何在Symfony 3.4中生成令牌

在mongodb的Symfony 2中生成映射和文档?

使用NDK在Android Studio 1.0.2中生成.so文件

在 Linux 中生成的 PDF 无法在 Windows 中打开 - 使用 enscript

如何使用循环在 Shiny 中生成表中的数据?

Symfony中的可选URL参数

Symfony GET/POST 方法中请求参数的最佳实践

如何在各自的测试文件夹中的每个测试中生成cumul.json(我正在使用将TestNG用于并行执行的Cucumber 5)

Symfony Oneup_uploader捆绑包,问题是在响应中生成URL:\ /分隔符而不是/

Symfony-如何在控制器中使用参数生成URL

Symfony 5:缺少一些必需参数(“title”)来生成路由“frContentStrategy”的 URL

如何使用Codeigniter消除URL中未使用的$ _GET参数?

尝试在Symfony 2中生成包时终端中的错误消息

我无法检索在 symfony 3 中通过 GET 传递的 URL 的参数

使用 FOSRestBundle 在 Symfony 中编写 GET 路由

使用数组中的参数调用Symfony Repository方法

使用Symfony 4中的带参数的Flash消息翻译

Symfony-Twig-使用参数更改宏中块的名称

Rails 在生产中生成错误的资产 url(使用 localhost 而不是服务器 ip)

如何在Symfony2中的包中生成视图文件?

Laravel:使用 get 参数处理旧 url

URL重写(如果使用GET参数)