Skip to main content
O Adianti Framework oferece diversas maneiras de carregar coleções de objetos: com e sem filtros, definindo as colunas desejadas, etc. Veremos em detalhe os métodos de carregamento mais usados, começando com o carregamento mais simples de coleções, que pode ser escrito em uma linha do código-fonte:

7.1. Como carregar todos os registros de uma tabela?

O método all() irá carregar todos registros da tabela da classe usada. Um exemplo funcional seria:
O comando SQL gerado pelo código-fonte acima é:
O método all() não aceita filtros e sempre carregará todos os registros da tabela da classe instanciada. Como é possível observar pela query gerada, foram carregadas colunas nomeadas do banco de dados e não simplesmente um select *. Esse comportamento acontece pois o framework irá carregar apenas as colunas definidas como atributos dentro da Active Record funcionario. Veja a classe Funcionario:
As colunas carregadas no SQL da função all() são exatamente as mesmas definidas no método construtor da classe Funcionario + a chave primária. Portanto, se a tabela funcionario possuir uma coluna extra (idade por exemplo) não definida no método construtor, as informações de tal coluna idade não serão carregadas em comandos como o método all().

7.2. Como carregar coleções com filtros

É possível carregar uma coleção com filtros de duas maneiras:
  1. Carregamento estático;
  2. Carregamento com API de critérios.
Veremos ambos em mais detalhes a seguir.