Skip to main content
Com uma conexão aberta com o BD, já podemos carregar objetos e para isso o Adianti Framework oferece diversas maneiras, vejamos algumas: Carregamento de objeto O código-fonte abaixo irá carregar as informações do registro 1 da tabela funcionario.
A query SQL gerada pelo código-fonte acima foi:
É importante ressaltar que: Funcionario é uma classe Active Record que trabalha em cima da tabela funcionario do BD. Carregamento estático de objeto Outra maneira de carregar um objeto (essa sem instanciar diretamente a classe) é realizar um carregamento por uma chamada estática de carregamento.
O código-fonte acima irá gerar exatamente a mesma query que o exemplo anterior:

2.1. Qual a diferença entre o carregamento normal e o estático?

Acabamos de ver que os dois carregamentos de objetos demonstrados têm como resultado a mesma query, então ficamos com a pergunta: qual a diferença entre eles? A resposta é bem simples, o carregamento normal lança uma exceção quando não encontra o objeto, já o carregamento estático retorna NULL. Veja a diferença:
No caso acima, será lançada a seguinte mensagem de exceção: O objeto 9999 não encontrado em funcionario Carregamento estático:
No carregamento estático, o objeto fica nulo. Como carregar o primeiro e o último objeto? O Adianti Framework fornece duas funções para resolver essas questões, são elas:
  1. first();
  2. last(). Essas duas funções estáticas devem ser usadas em uma classe de modelo (TRecord), assim o framework conseguirá carregar o registro da tabela correta. Veja abaixo dois exemplos, um para o primeiro registro e outro para o último:
Os comandos SQL gerados foram:
É possível notar que o framework primeiro identifica o primeiro e último IDs para depois carregar os dados do registro.