Я хочу сделать поиск членов с некоторыми параметрами фильтра.Фильтровать Плохие результаты Laravel 5.2
Я попытался фильтр(), но я получил эту ошибку:
Fatal error: Call to a member function filter() on array
Это работает, когда я использую только один фильтр, потому что он возвращает только идентификаторы. Является ли их способ, которым я могу использовать фильтр() несколько раз, это мой код:
$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;
});
}
Или есть другой способ достижения этой цели?
Хм, вы можете попробовать использовать сбор(); '$ members = collect (User :: all());' или см. мой ответ для более подходящего решения –