У меня есть построитель запросов, который возвращает разбитые на страницы данные:
$builder = Example::latest();
$examples = $builder->with([
'activity',
'followers',
'messages',
'assignedTeam',
'domain',
'history'])
->paginate();
return response()->json($examples);
Модель имеет метод доступа, isRelativeTo
, который является логическим значением.Я хочу отфильтровать это по !isRelativeTo
.Я знаю, что не могу наложить на него карту или добавить фильтр напрямую, поскольку это не коллекция, поэтому мне интересно, какой правильный способ сделать что-то подобное?
Вот моя логика доступа:
public function getIsRelativeAttribute($value)
{
$user = auth('api')->user();
return $this->assigned_user_id == $user->id || $this->reported_by == $user->id
|| $user->teams()->where('id', $this->assigned_team_id)->exists();
}