8.1. Como definir as colunas de uma consulta no banco de dados?
É possível chamar uma função estática chamadaselect() em uma Active Record para definir as colunas que serão carregadas no comando SQL gerado pelo framework. A função select() recebe como parâmetro uma ou mais “strings” que serão usadas para selecionar as colunas.
E para que o Adianti Framework carregue os dados, é necessário chamar a função load().
Exemplos funcionais seriam: carregar apenas nomes diferentes da tabela de funcionários e carregar nome e idade dos funcionários:
8.2. Como adicionar filtros no carregamento estático?
Da mesma maneira que a funçãoselect() existe para definir as colunas a serem selecionadas, existe a função where(), para criar filtros de carregamento de coleções. O uso mais simples da função where() usa três parâmetros:
load().
No exemplo abaixo, foi feito o carregamento apenas de funcionários acima de 18 anos:
8.3. Como adicionar mais de um filtro?
Ao usar o carregamento estático de coleções, é possível adicionar N filtros. Para isso, basta chamar mais vezes a funçãowhere(). Veja o exemplo a seguir, em que serão carregados todos os funcionários que:
- Tenham mais de 18 anos;
- O nome comece com a letra A;
- Tenham o CEP igual a 95900-000.
Atenção: sempre que mais de um filtrowherefor usado, somente o primeiro deve ser chamado com os caracteres::. Os seguintes devem ser chamados com os caracteres->.
8.4. Como definir colunas e filtros em um carregamento?
É possível combinar as funçõesselect() e where() para carregar apenas as informações desejadas seguindo as regras da aplicação. Para isso, basta empilhar as funções da mesma maneira que quando é usado mais que um filtro.
No exemplo abaixo, serão carregados apenas os nomes dos funcionários abaixo de 18 anos cujo nome começa com a letra A:
8.5. Como carregar os registros paginados?
Ainda no carregamento estático, é possível definir algumas propriedades, como ordenação, quantidade e paginação dos registros. No exemplo abaixo, iremos carregar todos os funcionários com 25 anos de idade ou mais ordenados em ordem decrescente pelo ID pegando 10 registros após pular 20 (paginação).8.6. Como usar o operador OU em carregamentos estáticos?
Nos exemplos anteriores, todos os critérios de filtros eram adicionados com o operadorE (and), pois esse é o comportamento padrão do carregamento estático.
Mas o que fazer quando o desenvolvedor deseja utilizar outro critério?
Para alterar o comportamento padrão do carregamento estático de coleções, precisaremos alterar o quarto parâmetro da função where(). Quando não definido, esse parâmetro recebe o valor do operador E. O exemplo abaixo mostra como definir o operador OU.