【问题标题】:Laravel Request can't get values of some keyLaravel 请求无法获取某些键的值
【发布时间】:2020-10-05 16:56:15
【问题描述】:

我试图在名为StoreApplicantLanguage.php 的表单请求类中检索request() 的某些部分。请求键称为“语言”,它有一个对象数组,其中包含要存储在我的“应用程序语言”表中的键值对。

这是我来自 Postman 的 JSON 请求:

{
    "languages": [
        {
            "language": "English",
            "capability": 1
        }
    ]
}

看起来很正常吧?! 但是,当我尝试像这样获取 languages 键的值时:

$requestLanguages = request()->languages;
dd($requestLanguages);

,它显示 null。 我试图重新启动我的服务器,执行php artisan config:cache,但没有一个是有效的。但是当我将请求对象中的键名更改为language 时,它可以工作!

此外,请求对象还有另一个命名字段,例如families,我可以通过request()->families 获取其中的值。

我完全不知道这是怎么发生的。请任何人解释我的情况!

提前致谢!

编辑:从 Malkhazi Dartsmelidze 的回答中,我意识到我打错了问题。我的 JSON 请求中的 '1' 值后没有写逗号

【问题讨论】:

    标签: php laravel request


    【解决方案1】:

    它在我的系统上运行良好。 也许你那是因为你传递了无效的 json。

    {
        "languages": [
            {
                "language": "English",
                "capability": 1
            }
        ]
    }
    

    尝试传递这个 JSON(我删除了 '1' 之后的最后一个逗号)

    还要注意Request 是对象,并且已经使用了一些属性,$request 变量可以返回它。您可以使用$request->get('languages') 从请求中获取参数

    【讨论】:

    • 感谢您的回答,但我不是在使用 $request 变量作为您所说的 Request 的实例的控制器或方法中工作。但是根据您的回答,现在我可以通过 $families = Request::get('families'); 获取带有 languages 键的数据,非常感谢,对不起我的无知。
    猜你喜欢
    • 2018-10-24
    • 1970-01-01
    • 1970-01-01
    • 2020-08-30
    • 2019-04-21
    • 1970-01-01
    • 2018-04-15
    • 1970-01-01
    • 2019-10-29
    相关资源
    最近更新 更多