1
resposta

Dúvida

Bom dia. Usando o findAll() esses são os alunos que eu tenho na minha base:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Quando fiz esse código:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Achei estranho ele retornar a partir do aluno Thales já que o Thales é o segundo e não o terceiro como defini no offset. Deveria retornar titico e alexandra não?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Oi Karolina, tudo bem com você?

O parâmetro offset é utilizado para indicar a partir de qual item trazer os resultados da consulta. No seu exemplo, você definiu o valor 3 para o offset, o que significa que os primeiros 3 resultados serão ignorados e a consulta começará a partir do quarto resultado.

No entanto, é importante lembrar que o offset é baseado em zero, ou seja, o primeiro item é considerado o índice 0. Portanto, ao definir o offset como 3, você está pulando os 3 primeiros resultados e começando a busca a partir do quarto resultado.

No seu caso, você esperava que a consulta retornasse os alunos "titico" e "alexandra", mas ela está retornando o aluno "Thales" como o terceiro resultado. Isso ocorre porque o offset está pulando os 3 primeiros resultados, que são os alunos "titico", "alexandra" e "Thales".

Para obter os resultados esperados, você pode ajustar o valor do offset para 2, já que o índice do terceiro resultado é 2. Assim, a consulta começará a partir do aluno "Thales" e retornará os alunos "titico" e "alexandra".

Aqui está um exemplo de como ficaria a chamada do método findBy com o offset ajustado:

$alunoRepository->findBy([], ['nome' => 'ASC'], 2, 2);

Espero ter ajudado!

Caso tenha dúvidas, fico à disposição.

Abraços e bons estudos!