对于我的一个Laravel Web应用程序,我想以 Json格式记录数据库中的所有请求参数(Post以及Get),因为我正在使用$request->all()
方法,当用户尝试上传任何文件时会导致异常。
这就是为什么我想要一种方法从请求中选择Serializable Parameters(用于get和post请求)或者选择除文件之外的所有请求参数的方法。
Request::except([])
对我不起作用,因为在Except方法中我们必须提供文件参数名称。
答案 0 :(得分:2)
在我的项目中,我使用了这个,除了下面的许多字段,
$input = $request->except('first_name', 'middle_name', 'last_name', 'address',...);
这对我来说很好。
我将所有保留值存储到 $ input 并存储该输入变量的值。
请试试这个。
答案 1 :(得分:1)
在您的情况下,请将此调试代码用于测试一次,可能您希望它在您当前的工作中使用
$allRequestParams = array_map(function($input) {
return !is_array($input) ? $input : false;
}, $request->all());
echo '<pre>';
print_r($allRequestParams);
echo '<pre/>';
die;
答案 2 :(得分:1)
由于任何答案对我都不起作用,我做了很多阅读和一些关于laravel的挖掘但是我找不到我想要的具体解决方案,所以我做了一个小小的黑客,而不是使用Laravel的请求对象和拉取参数从那里我只使用PHP的内置$_REQUEST
参数。
例如
$non_file_parameters = $_REQUEST;
$_REQUEST
除了文件参数coz在核心PHP中有文件参数coz以及$_FILES
超全局变量的文件时,
if (typeof object[key] === 'number') {
将包含Get和Post参数。
谢谢你们的努力...