Laravel - 从请求中过滤掉 'null' 值

标签 laravel laravel-5 filter

我正在尝试过滤我的 $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/

相关文章:

mysql - Laravel 查询生成器分组

javascript - 在 Laravel 中使用 javascript 创建控件

php - Macroable.php 方法foregin 不存在

php - 审查可能包含标记的不当词语的最佳方法是什么?

android - Intent 过滤器上的 ActivityMonitor ACTION_SENDTO 未命中

image - 检测叶子中的脉纹?

php - 从 View laravel 中的数据透视表获取数据

laravel - 发送前预览 Laravel Mail

javascript - 带 laravel 的 CKeditor 将数据库输出编码为原始 html

javascript - Owl Carousel 未正确显示