首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Laravel路由查询从查询值而不是键中获取电子邮件地址

Laravel路由查询从查询值而不是键中获取电子邮件地址
EN

Stack Overflow用户
提问于 2021-02-19 09:50:39
回答 1查看 31关注 0票数 0

我遇到了一个关于Laravel 8路由的问题。我找不到解决这个问题的办法。

例如,我在Laravel中有这样的路由格式:

代码语言:javascript
运行
复制
$domain/password_reset?$email

其中,它将如下所示:

代码语言:javascript
运行
复制
http://test-website.com/password_reset?test@gmail.com

我知道查询参数是?key=value格式的。然而,在我的例子中,提供的路由格式是(客户端)所期望的。而不是传统的key=value方式。此外,还可以从电子邮件中单击url链接。其中电子邮件中的链接使用给定的确切路由格式(不是url编码的)。

在控制器中获取的示例请求查询如下所示:

如果你注意到了,这封电子邮件变成了一个关键字(这是意料之中的)。因为它是一个密钥,所以.已被更改为_。它变成了gmail_com,而不是gmail.com

有没有更好的解决方案来从这种路由格式的url (不是url编码的)中获得确切的电子邮件地址?希望有人能帮我解决这个问题。非常感谢你的进阶!

EN

回答 1

Stack Overflow用户

发布于 2021-02-19 10:15:40

您应该获取请求查询并自己解析它:

代码语言:javascript
运行
复制
[$path, $query] = explode('?',$request->fullUrl())

在上面的示例中,$query应该包含URL上?之后的所有内容。

或者,您也可以只获取已有数组的键:

代码语言:javascript
运行
复制
$email = array_keys($request->all())[0]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66270706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档