Php Laravel如何检查至少一列值是否为真

Php Laravel如何检查至少一列值是否为真,php,mysql,laravel,laravel-5.8,Php,Mysql,Laravel,Laravel 5.8,如果一堆复选框中至少有一个是选中的/为真的,我如何检查?我使用的是Laravel 5.8 我现在的问题是: $preferences = DB::table("preferences") ->select('day', 'evening', 'night', 'weekend', 'full_time', 'part_time') ->where(["user_id" => request()->user()->

如果一堆复选框中至少有一个是选中的/为真的,我如何检查?我使用的是
Laravel 5.8

我现在的问题是:

$preferences = DB::table("preferences")
    ->select('day', 'evening', 'night', 'weekend', 'full_time', 'part_time')
    ->where(["user_id" => request()->user()->id])
    ->get();

return response(['success' => true, "preferences" => $preferences]);
到目前为止,这是可行的,但“仅”返回一个包含每个值的数组。像这样:

[
  {
    day: 0,
    evening: 1,
    night: 0,
    weekend: 0,
    full_time: 1,
    part_time: 0
  }
]
我需要某种类型的值来告诉我:
被选中了:true/false
-类似的东西

我怎样才能做到这一点?欢迎任何建议

给你:)

试试这个系列

$collection->filter(function ($value, $key) {
    return $value == true;
});

我不知道我是否理解正确,如果你想过滤被检查的项目,你可以简单地
array\u filter($result,function($item){return$item==true})。我本可以把争论搞混的order@TZiebura是的,那正是我想要的!天啊,太容易了!谢谢:-)当您只查找truthy值时,不需要向filter函数提供回调-这是默认值。如果未提供回调,则将删除所有等于FALSE的数组项
$collection->filter(function ($value, $key) {
    return $value == true;
});