AF
Atualizar valores em outra classe através de métodos específicos
Boa tarde. Tenho as duas classes abaixo:
class Saldo extends TRecord
{
const TABLENAME = 'saldo';
const PRIMARYKEY = 'id';
const IDPOLICY = 'max';
public function __construct($id = NULL)
{
parent::__construct($id);
parent::addAttribute('saldo');
parent::addAttribute('data_saldo');
parent::addAttribute('origem_saldo');
parent::addAttribute('id_lancamento');
}
class Lancamentos extends TRecord
{
const TABLENAME = 'lancamentos';
const PRIMARYKEY = 'id';
const IDPOLICY = 'max';
public function __construct($id = NULL)
{
parent::__construct($id);
parent::addAttribute('id_conta');
parent::addAttribute('descricao_lancamento');
parent::addAttribute('destino_lancamento');
parent::addAttribute('tipo_lancamento');
parent::addAttribute('id_mensalista');
parent::addAttribute('forma_lancamento');
parent::addAttribute('numero_cheque');
parent::addAttribute('mes_referencia');
parent::addAttribute('ano_referencia');
parent::addAttribute('valor_lancamento');
parent::addAttribute('data_lancamento');
parent::addAttribute('operador');
}
A classe lançamentos está funcionando corretamente, faço todos os lançamentos (incluir, excluir e alterar) perfeitamente.
Agora precisa atualizar a classe saldo de acordo com o tipo de lançamento na classe lançamento. Por exemplo: Ao excluir um lançamento, vou na classe saldo e atualizo o valor do saldo naquele tipo escolhido e da mesma forma para a inclusão e alteração de um lançamento.
Tenho que ter a classe saldo, pois precisa monitorar o saldo no tipo de conta a,b ou c e nos dias a, b ou c.
Como trabalho isso chamando métodos específicos?
Essa é a primeira aplicação que estou desenvolvendo no adianti e ainda tenho algumas dúvidas.
Espero ter sido claro.
Agradeço a todos pela ajuda.
Ailton Furtado
class Saldo extends TRecord
{
const TABLENAME = 'saldo';
const PRIMARYKEY = 'id';
const IDPOLICY = 'max';
public function __construct($id = NULL)
{
parent::__construct($id);
parent::addAttribute('saldo');
parent::addAttribute('data_saldo');
parent::addAttribute('origem_saldo');
parent::addAttribute('id_lancamento');
}
class Lancamentos extends TRecord
{
const TABLENAME = 'lancamentos';
const PRIMARYKEY = 'id';
const IDPOLICY = 'max';
public function __construct($id = NULL)
{
parent::__construct($id);
parent::addAttribute('id_conta');
parent::addAttribute('descricao_lancamento');
parent::addAttribute('destino_lancamento');
parent::addAttribute('tipo_lancamento');
parent::addAttribute('id_mensalista');
parent::addAttribute('forma_lancamento');
parent::addAttribute('numero_cheque');
parent::addAttribute('mes_referencia');
parent::addAttribute('ano_referencia');
parent::addAttribute('valor_lancamento');
parent::addAttribute('data_lancamento');
parent::addAttribute('operador');
}
A classe lançamentos está funcionando corretamente, faço todos os lançamentos (incluir, excluir e alterar) perfeitamente.
Agora precisa atualizar a classe saldo de acordo com o tipo de lançamento na classe lançamento. Por exemplo: Ao excluir um lançamento, vou na classe saldo e atualizo o valor do saldo naquele tipo escolhido e da mesma forma para a inclusão e alteração de um lançamento.
Tenho que ter a classe saldo, pois precisa monitorar o saldo no tipo de conta a,b ou c e nos dias a, b ou c.
Como trabalho isso chamando métodos específicos?
Essa é a primeira aplicação que estou desenvolvendo no adianti e ainda tenho algumas dúvidas.
Espero ter sido claro.
Agradeço a todos pela ajuda.
Ailton Furtado
Você não poderia criar um VIEW no banco ao invés de gravar em Saldo?
Bom dia a todos.
Em primeiro lugar, obrigado Nataniel pela ajuda.
Eu poderia fazer uma trigger, procedures ou outras soluções relativas ao banco. Mas como estou iniciando no modelo mvc e no framework gostaria de fazer esse processo independente do banco.
Gostaria de criar um método na classe onde executasse essa ação após os lançamentos.
Em relação ao saldo, tenho que guardá-los em histórico para consultas posteriores de fechamentos mensais.
Mas uma vez agradeço a sua ajuda.
Atenciosamente,
Ailton Furtado
Veja o link abaixo:
localhost/tutor/index.php?class=HookMethodView
Bom dia Nataniel.
Em primeiro lugar, desculpe a demora em agradecê-lo, pois só agora voltei a trabalhar na aplicação.
Perfeito, era isso que precisava.
Mais uma vez obrigado pela ajuda.
Atenciosamente,
Ailton Furtado