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