Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Get请求中的Laravel键值对_Php_Laravel_Vue.js_Request_Axios - Fatal编程技术网

Php Get请求中的Laravel键值对

Php Get请求中的Laravel键值对,php,laravel,vue.js,request,axios,Php,Laravel,Vue.js,Request,Axios,我正在使用Laravel5.4和Axios向后端发出异步请求,并根据api端点的get请求参数检索数据 我可以在inspector中看到我正在向服务器发出以下请求: 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={

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

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

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');

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

我认为可以使用点符号,但无论如何,您可以尝试将它从
json
转换为关联数组

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

这将允许您执行类似于,
$sort['fieldName']
的操作。
true
参数告诉解码器将其转换为关联数组,而不是返回对象。

请转到
storage/logs/laravel.log
。检查页面底部显示的错误消息。我不是专家,所以帮不了你多少忙。但我这么说是因为大多数时候我使用这个文件进行调试,实际上我只是返回值,然后将其记录在前端的控制台中。我没有从
return$request->query('sort.fieldName')中得到任何错误仅返回空白数据。好主意!您不能使用点表示法,因为laravel需要一个字符串,它不知道
sort
json
,所以上面的内容允许您手动执行。谢谢@Tom Bird。这正是我所需要的。不知道json_decode的assoc参数,也不知道Laravel需要字符串。有道理!没问题,很高兴我能帮忙!