我正在尝试过滤我的 $request
以不包含任何 qty
字段为空的输入数据(qty
位于一个轴上表格)
我已经尝试过:
$qty = $request->input('qty'); //define qty
$filtered = $request->filter(function ($qty, $key) {
return $qty != null;
});
$filtered->all();
但我收到错误Method Illuminate\Http\Request::filter does not exist
,这很奇怪,因为我在 use Illuminate\Http\Request;
Controller 。
虽然我以前从未过滤过数据,所以我不知道这是否是正确的方法。
最佳答案
我非常肯定 $request
实例没有过滤方法。我认为您可以使用 collect
帮助器实现您想要的:
$input = collect(request()->all())->filter(function($value) {
return null !== $value;
})->toArray();
更新:从 Laravel 8.62.0 开始,请求中存在 collect
方法:
$input = request()->collect()->filter(function($value) {
return null !== $value;
})->toArray();
关于Laravel - 从请求中过滤掉 'null' 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53712654/