$objectNew e $objectOld

As duas fases de um registro

Cada mudança é definida por antes e depois

Suponha que você tenha uma tabela de Funcionários. Esta tabela contém os nomes, números de telefone e e-mails de seus funcionários. Um dia, seu funcionário Andrew lhe diz que tem um novo número de telefone. Você então vai para a tabela e atualiza o registro com essas informações.

Se pensarmos bem, o registro que contém as informações de Andrew pode ser definido por dois momentos:

Antes da alteração, o cadastro era composto pelas seguintes informações: Nome: André / Telefone: 111 222 3333 / Email: [email protected].

Após a alteração, o registro passa a ser composto pelas seguintes informações: Nome: André / Telefone: 111 444 7777 / Email: [email protected].

Ao executar automações, pode ser útil conhecer as informações do registro em ambos os estados, portanto, sempre que você criar, atualizar ou excluir informações pela interface, o jestor as armazena automaticamente em duas variáveis separadas: $objectNew e $objectOld .

📘

Variáveis e Arrays

Se você quiser entender mais sobre variáveis ou Arrays, recomendamos que você confira os links abaixo.

Variáveis: https://www.php.net/manual/en/language.variables.php
Arrays: https://www.php.net/manual/en/language.types.array.php

$objectNew contém todas as informações que o registro terá após a criação ou atualização. Assim, no exemplo acima, $objectNew terá os seguintes dados:

$objectNew = ['id_employees' => 1, 'name' => 'Andrew', 'phone' => '111 444 7777', 'email' => '[email protected]'];

🚧

Sobre o ID do registro

Toda tabela no Jestor tem um campo que não é visível na interface do usuário: o id. O nome da API/trigger do campo sempre será id_nameofthetable. No cenário acima, Andrew é o primeiro registro da tabela Employees, então seu id_employees é 1.

Em uma nota semelhante, $objectOld contém todas as informações que o registro tinha antes de atualizar ou excluir. Assim, no exemplo acima, $objectOld terá os seguintes dados:

$objectOld = ['id_employees' => 1, 'name' => 'Andrew', 'phone' => '111 222 3333', 'email' => '[email protected]'];

Diferentes cenários

Por causa de sua própria natureza, $objectNew e $objectOld nem sempre existem. Sua existência dependerá de qual ação o usuário está realizando na interface.

Criando um registro: como o registro não existia antes da ação do usuário, não haverá $objectOld, apenas $objectNew.

Atualizando um registro: neste cenário, há $objectNew e $objectOld.

Excluindo um registro: como o usuário não está enviando novas informações para o registro, não haverá $objectNew, apenas $objectOld.

Com isso em mente, podemos passar para o próximo conceito central: gatilhos.