Cara, se entendi veja bem, ambiente usado de exemplo:
Mestre: (pedido) {
idPedido
status
cliente
}
Detalhe: (pedidoitem) {
id,
idPedido,
status
idProduto
}
Então oque tu quer fazer é, ao salvar um item na tabela detalhe, tu quer salvar o campo “status” do mestre no registro inserido no item.
Muito bem, se for esse o senário, vou dar um exemplo muito simples de se implementar essa solução.
Use o evento onBeforeInsert, que ocorre antes de gravar o registro no banco de dados.
Vamos então pegar o valor que está armazenado no banco de dados referente ao campo “status” da tabela “pedido”.
Isso pode ser obtido de duas manerias, a mas confiável que te dará o “status” exato que se encontra no banco de dados no momento da inserção do item é fazendo um busca na tabela “mestre” buscando esse valor. Vamos supor que quando tu criou a ligação detalhe informou que o campo “idPedido” será ligado ao campo “idPedido” da detalhe. O código seria assim:
$sql = "select idPedido from pedido where idPedido = " . sc_sql_injection({idPedido});
sc_lookup(mestre, $sql);
//essa linha pega o valor retornado do banco e armazena no campo status antes de salvar no banco de dados
{status} = {mestre[0][0]};
Consideração Final:
Esse exemplo é apenas umas das formas de se fazer isso, uma forma simples e sem validação de erro algum que possa ocorrer, o interessante é tu fazer algumas validações para garantir a integridade desses dados.
Espero ter ajudado.