【问题标题】:Laravel get method parameters cannot be fetchedLaravel get 方法参数无法获取
【发布时间】:2021-06-22 08:46:01
【问题描述】:

我今天在 Laravel 中遇到了一个奇怪的问题,我使用的版本是 Laravel 5.5,我在应用程序中定义了如下路由。

 Route::get('getplaylist/{playlistid}/{page}', 'Mycontroller@getplaylist');

奇怪的是,在我的控制器中,我正在尝试获取参数

dd($request->all()); // results in empty array []

而下面的一个有效,

dd($request->playlistid);

对于幕后发生的事情,我们将不胜感激。我面临的问题是无法验证请求,因为结果是空的 '[]' 数组。

【问题讨论】:

  • 请分享更多细节。给定的路由不包含任何 GET 参数

标签: php laravel laravel-5


【解决方案1】:

路由参数,例如您的示例中的playlistidpage,可以与$request->route() 方法一起使用。

例子:

$request->route('playlistid')

您还可以使用$request->route()->parameters() 获取所有路由参数。

【讨论】:

    【解决方案2】:

    正如@erikgaal 已经提到的,这些是路由参数,而不是请求参数。

    但是,正如the docs 中所写,将这些路由参数注入控制器方法是 Laravel 最基本和最核心的部分之一。因此,您的路线:

    class Mycontroller 
    {
        public function getplaylist(Request $request, $playlistid, $page)
        {
            // Do stuff
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-08
      • 2021-12-04
      • 2021-05-24
      • 1970-01-01
      • 2015-11-02
      相关资源
      最近更新 更多