首页 > 解决方案 > 获取请求中的 Laravel 键值对

问题描述

我正在使用 Laravel 5.4 和 Axios 向我的后端发出异步请求,并根据我的 api 端点的 get 请求参数检索数据。

我可以在检查员中看到我正在向服务器发出以下请求:

https://website.com/api/users?page=1&sort=%7B%22fieldName%22:%22lname%22,%22order%22:%22asc%22%7D&filter=

解码为:

https://website.com/api/users?page=1&sort={"fieldName":"lname","order":"asc"}&filter=

看起来我可以通过以下方式成功获取查询片段:

return $request->query('sort');

返回:

data:
    fieldName: "lname"
    order: "asc"

但是当我使用:

return $request->query('sort.fieldName');

我什么也得不到。我不应该使用点符号吗?如何获取排序输入的每个键/值对?谢谢你的帮助!

标签: phplaravelvue.jsrequestaxios

解决方案


我认为您可以使用点表示法,但无论如何您都可以尝试将其转换json为关联数组。

$sort = json_decode($request->query('sort'), true);

这应该允许你做类似的事情,$sort[‘fieldName’]. 该true参数告诉解码器将其转换为关联数组而不是返回一个对象。


推荐阅读