Skip to main content
Dentro do Adianti Framework, a gravação e atualização de objetos é realizada pela mesma função: store(). A diferença entre a inserção e atualização de um registro é a presença da chave primária do objeto. Abaixo um código-fonte de inserção de registro.
O código-fonte acima gerou a seguinte query SQL:
A classe Funcionario tem uma diretiva que diz que a chave primária da tabela é a coluna id. Como no código-fonte esse atributo não foi definido, o Adianti Framework interpreta essas instruções como uma inserção. Atenção: após a chamada da função store(), o objeto em questão (no nosso caso, $funcionario) passará a ter a coluna id preenchida. Normalmente, a chave primária é uma sequência e o Adianti Framework automaticamente usará o próximo valor válido. Com apenas uma linha de código, podemos transformar a inserção em alteração (caso o ID fornecido exista na tabela, caso contrário, será feita a inserção de um registro novo):
O código-fonte completo de alteração fica assim:
O comando SQL gerado pela alteração ficou assim:
Uma forma mais curta de fazer uma alteração seria carregar um registro através do ID e definir apenas os campos a serem alterados. Eis abaixo um exemplo:
O comando SQL gerado é o mesmo que o do exemplo anterior.