У меня есть построитель запросов, который возвращает данные с разбивкой на страницы:
$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();
}