PS
Campos created_by and updated_by aparecendo id e não name
Boa Tarde,
Estou iniciando no Adianti Framework e estou precisando de um help.
Tenho um model onde tenho os campos created_by e updated_by, onde gravo o id do usuário logado no momento da inclusão ou alteração.
Entretanto, nas grids e forms gostaria de que o campo name do system_user aparecesse e não o id.
Segue abaixo o código do model onde tentei fazer o acesso ao system_user e trazer o campo name.
Não entendi exatamente como fazer para aparecer o nome no campo created_by e updated_by ao invés do id. Toda ajuda será bem-vinda.
Estou iniciando no Adianti Framework e estou precisando de um help.
Tenho um model onde tenho os campos created_by e updated_by, onde gravo o id do usuário logado no momento da inclusão ou alteração.
Entretanto, nas grids e forms gostaria de que o campo name do system_user aparecesse e não o id.
Segue abaixo o código do model onde tentei fazer o acesso ao system_user e trazer o campo name.
Não entendi exatamente como fazer para aparecer o nome no campo created_by e updated_by ao invés do id. Toda ajuda será bem-vinda.
- <?php
- /**
- * TbSanEtaEte
- *
- * @version 1.0
- * @package model
- * @subpackage san
- * @author Pedro Isaias Soares
- * @copyright Copyright (c) 2022 gybwbr Solutions Ltd. (http://www.gybwbr.com)
- * @license http://www.adianti.com.br/framework-license
- */
- class TbSanIndEta extends TRecord
- {
- const TABLENAME = 'tb_san_indeta';
- const PRIMARYKEY= 'id';
- const IDPOLICY = 'max'; // {max, serial}
- private $tb_san_etaete;
- private $system_user;
- /**
- * Constructor method
- */
- public function __construct($id = NULL, $callObjectLoad = TRUE)
- {
- parent::__construct($id, $callObjectLoad);
- parent::addAttribute('dtlanc');
- parent::addAttribute('hrlanc');
- parent::addAttribute('sulal_dens');
- parent::addAttribute('sulal_conc');
- parent::addAttribute('ab_vazao');
- parent::addAttribute('ab_ph');
- parent::addAttribute('ab_turb');
- parent::addAttribute('pt_m1_precloro');
- parent::addAttribute('pt_m1_sulmg');
- parent::addAttribute('pt_m1_sulml');
- parent::addAttribute('pt_m1_turbdec');
- parent::addAttribute('pt_m1_turbf1');
- parent::addAttribute('pt_m1_turbf2');
- parent::addAttribute('pt_m1_turbf3');
- parent::addAttribute('pt_m1_turbf4');
- parent::addAttribute('pt_m2_turbdec');
- parent::addAttribute('pt_m2_turbf1');
- parent::addAttribute('pt_m2_turbf2');
- parent::addAttribute('pt_m2_turbf3');
- parent::addAttribute('pt_m2_turbf4');
- parent::addAttribute('pt_m2_turbf5');
- parent::addAttribute('pt_m2_turbf6');
- parent::addAttribute('pt_tc_ph');
- parent::addAttribute('pt_tc_turb');
- parent::addAttribute('pt_tc_cloro');
- parent::addAttribute('pt_tc_fluor');
- parent::addAttribute('af_res3m_ph');
- parent::addAttribute('af_res3m_turb');
- parent::addAttribute('af_res3m_cor');
- parent::addAttribute('af_res3m_cloro');
- parent::addAttribute('af_res3m_fluor');
- parent::addAttribute('nafp_ph');
- parent::addAttribute('nafp_turb');
- parent::addAttribute('nafp_cor');
- parent::addAttribute('nafp_cloro');
- parent::addAttribute('nafp_fluor');
- parent::addAttribute('created_by');
- parent::addAttribute('created_at');
- parent::addAttribute('updated_by');
- parent::addAttribute('updated_at');
- parent::addAttribute('tb_san_etaete_id');
- }
- public function onBeforeStore($object)
- {
- if (empty($object->id)) {
- $object->created_at = date('Y-m-d H:i:s');
- $object->created_by = TSession::getValue('userid');
- }
- $object->updated_at = date('Y-m-d H:i:s');
- $object->updated_by = TSession::getValue('userid');
- }
- /**
- * Method set_tb_san_etaete
- * Sample of usage: $tb_san_indeta->tb_san_etaete = $object;
- * @param $object Instance of TbSanEtaete
- */
- public function set_tb_san_etaete(TbSanEtaEte $object)
- {
- $this->tb_san_etaete = $object;
- $this->tb_san_etaete_id = $object->id;
- }
- /**
- * Method get_tb_san_etaete
- * Sample of usage: $tb_san_indeta->tb_san_etaete->attribute;
- * @returns TbSanEtaete instance
- */
- public function get_tb_san_etaete()
- {
- // loads the associated object
- if (empty($this->tb_san_etaete))
- $this->tb_san_etaete = new TbSanEtaEte($this->tb_san_etaete_id);
- // returns the associated object
- return $this->tb_san_etaete;
- }
- /**
- * Method set_system_user
- * Sample of usage: $tb_san_indeta->system_user = $object;
- * @param $object Instance of SystemUser
- */
- public function set_system_user(SystemUser $object)
- {
- $this->system_user = $object;
- $this->system_user_id = $object->id;
- }
- /**
- * Method get_system_user
- * Sample of usage: $tb_san_indeta->system_user->attribute;
- * @returns SystemUser instance
- */
- public function get_system_user()
- {
- // loads the associated object
- if (empty($this->system_user))
- $this->system_user = new SystemUser($this->system_user_id);
- // returns the associated object
- return $this->system_user;
- }
- }
Boa Tarde, pessoal.
Consegui resolver o problema levantado anteriormente usando o Adianti Builder. Nele criei o model das tabelas e pedi para gerar as classes. Na sequencia copiei os dados gerados para o meu programa e funcionou para a Grid.
No TEntry do controle Form ainda não aparece, mas provavelmente deve ser o componente TEntry que não esta aceitando. Ele não deve funcionar como o componente TDBGrid no controle List.
Mas se puderem me informar como fazer com que quando eu seleciono um registro na grid para edição eu possa mostar o nome do usuário que fez inclusão e o nome do que fez alteração no Form que se abre agradeço. Na grid tá funcionando perfeitamente bem. No Form não aparece nada, nem o id nem o name.
Corrigindo!
Obrigado, Luis.
Adaptei o exemplo que você postou aqui e funcionou.
Valeu pela ajuda!!!