Я могу отфильтровать поле Custom Get Attribute
после извлечения его в collection
. Теперь мне нужно отфильтровать перед использованием get()
Пример:
Для is_paid
настраиваемый атрибут
//is_paid
public function getIsPurchasedAttribute()
{
//Since purchased has one relation with user
return !empty($this->purchasedRelation) ? true : false;
}
Теперь мне нужно получить User
на основе is_purchased например:
public function index(Request $request){
$isPaid = $request->is_paid;
$users = User::query();
if($isPaid){
$users = $users->where('is_paid', true);
}
$users = $users->paginate(10);
return view('user.index', [
'users' => $users
]);
}
Если мне это нравится, он вернет:
Столбец не найден: 1054 Неизвестный столбец 'is_paid' в 'выражении where
Да, я могу делать как, но теперь я не могу использовать функцию paginate
:
$users = User::get();
$users = $users->where('is_paid', 1);
return view('user.index', [
'users' => $users
]);