where(function($model){ $model = $model->where(function($model){ if(auth()->user()->hasPermissionTo('Разрешении входящие документы')){ $model->orWhere('book_id', Book::DEN); } if(auth()->user()->hasPermissionTo('Разрешении исходящие документы')){ $model->orWhere('book_id', Book::DI); } if(auth()->user()->hasPermissionTo('Разрешении внутренние документы')){ $model->orWhere('book_id', Book::NOIBO); } }); $model = $model->orWhere(function($model){ $ids = auth()->user()->documents->map->id; $model->orWhereIn('id', $ids); }); }); return $model; } }