如何从 laravel 5.0 中的 Request 类中获取所有查询字符串

Posted

技术标签:

【中文标题】如何从 laravel 5.0 中的 Request 类中获取所有查询字符串【英文标题】:How to get all query string from Request class in laravel 5.0 【发布时间】:2016-04-19 22:42:40 【问题描述】:

在我的项目中,我正在使用支付网关,Omnipay 想知道它是从“返回网站按钮”重定向还是点击取消按钮。

即使被重定向,它也会重定向到一个名为 complete 的页面。

我检查了代码,我看到了:

$payerId = Request::query('PayerID');
$token = Request::query('token');

所以现在我想获取所有查询值,例如 payerID 等。检查是否有东西表明它的重定向或成功完成。

我知道如何通过此网关付款,但是在这个项目中我遇到了一些麻烦。

谢谢。

【问题讨论】:

当您在您被重定向回的网站页面上时,您实际上是否可以将这些值作为查询字符串的一部分看到?URL 中的PayerID? 【参考方案1】:

我个人使用这个:

public function foo(Request $request)
    
        $all = $request->all(); // there you have an array with all input submitted
        //do something with input
        return redirect()->action('HomeController@index');
    

【讨论】:

【参考方案2】:

可能你不得不使用

$input = Request::all();

在 laravel 5.0 的官方文档列表中,此方法可以正常工作

https://laravel.com/docs/5.0/requests#retrieving-input

【讨论】:

在 laravel 5.0 的官方文档中这个方法可以正常工作【参考方案3】:

我假设从上下文中您正在使用其中一个omnipay paypal 网关。您为这些网关提供了 2 个 URL。交易成功时返回url,取消时取消url。

此外,在返回 url 之后,您需要调用 completePurchase 并从中查看结果。届时交易可能会被拒绝。

网关文档块中有示例。

【讨论】:

以上是关于如何从 laravel 5.0 中的 Request 类中获取所有查询字符串的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 5.0 - 在 1 个迁移中重命名多个列

如何更新 laravel 中的数据?

从 Laravel 4.2 升级到 5.0 后获取 POST 的路由未定义错误

Laravel 7 - 如何正确显示旧输入/s?

laravel 5.0 中的自定义重置密码路由

如何将我的 laravel 5.0 项目直接升级到 5.4?