Jer*_*een 0 php laravel laravel-5
我想使用一些过滤器选项进行成员搜索.
我试过filter(),但是我收到了这个错误:
Fatal error: Call to a member function filter() on array
Run Code Online (Sandbox Code Playgroud)
当我只使用一个过滤器时,它可以工作,因为它只返回id.他们的方式我可以多次使用filter(),这是我的代码:
$members = User::all();
if ($has_avatar) {
$members = $members->filter(function ($member) {
//Avatar is not empty, other wise false
return ($member->avatar != "") ? true : false;
});
}
if ($is_online) {
$members = $members->filter(function ($member) {
//User is now online, other wise false
return ($member->is_online == 1) ? true : false;
});
}
Run Code Online (Sandbox Code Playgroud)
或者还有其他方法可以实现这一目标吗?
正如文档在https://laravel.com/docs/5.2/collections#method-filter上所述,此方法仅返回普通数组.
你可以尝试:
$members->filter(function ($member) {
return ($member->avatar != "") && ($member->is_online == 1);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1305 次 |
| 最近记录: |