Я пытаюсь добиться следующего: я хочу запрос, который ищет модель, этот запрос может быть сложным и, следовательно, нуждается в отдельном преобразователе или в каком-то месте, где я могу поместить свои логики c.
Что идет не так: это мой запрос
fighters(q: String): [FighterProfile] @field(resolver: "App\\Http\\Controllers\\FighterProfileController@search")
Это мой распознаватель
public function search($rootValue, array $args, GraphQLContext $context, ResolveInfo $resolveInfo) {
$user = auth()->user();
$q = isset($args['q']) ? $args['q'] : null;
$query = FighterProfile::distinct();
// admin and federation can see all fighters
if ($user->type === 'member') {
$fighterProfile = $user->fighterProfile;
$query->where('club_id', $fighterProfile->club_id);
}
if ($q) {
$query->where(function ($subQuery) use ($q) {
$subQuery->where('first_name', 'LIKE', '%' . $q . '%')
->orWhere('last_name', 'LIKE', '%' . $q . '%');
});
}
$query->where('type', 'fighter');
return $query->paginate(25);
}
Теперь вывод - это просто список из 25 элементов без информации о нумерацией страниц. Когда я пытаюсь добавить директиву @paginate, я получаю следующую ошибку
Node [fighters] can only have one directive of type [Nuwave\\Lighthouse\\Support\\Contracts\\FieldResolver] but found []
Как я могу добавить свои пользовательские логи c, но при этом все еще иметь нумерацию страниц?