【发布时间】:2020-03-22 10:59:11
【问题描述】:
我可以在将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;
}
我现在需要根据 is_purchased 检索User,例如:
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 'where 子句中的未知列'is_paid'
是的,我可以,但我现在无法使用paginate 功能:
$users = User::get();
$users = $users->where('is_paid', 1);
return view('user.index', [
'users' => $users
]);
【问题讨论】:
标签: php laravel laravel-5 eloquent