Exibir campo de relacionamento composição Boa tarde pesso@ll Iniciei um pequeno projeto para aprender a usar a ferramenta e estou tendo dificuldade em algo muito simples, que inclusive já havia passado por isso a uns 2 anos atrás.Como fiquei muito tempo sem usar a ferramenta e estou iniciando novamente em um projeto, estou levando um baile. Quero exibir a descrição do campo de uma tabela e não o seu ID. Fiz o relacionamento no mod...
WR
Exibir campo de relacionamento composição  
Boa tarde pesso@ll
Iniciei um pequeno projeto para aprender a usar a ferramenta e estou tendo dificuldade em algo muito simples, que inclusive já havia passado por isso a uns 2 anos atrás.Como fiquei muito tempo sem usar a ferramenta e estou iniciando novamente em um projeto, estou levando um baile.
Quero exibir a descrição do campo de uma tabela e não o seu ID.
Fiz o relacionamento no model e quando tento referenciar no grid ao executar o programa simplesmente o campo vem em branco, como se não tivesse dado nenhum.
Eu refiz várias vezes e vi alguns exemplos e não consigo descobrir onde está o erro.
Detalhe: Dessa vez estou usando ambiente Windows para o desenvolvimento.

Desde já agradeço a ajuda ou orientações!!

/******
class Tipoequipamento extends TRecord
{
const TABLENAME = 'tipoequipamento';
const PRIMARYKEY= 'idTipoEquipamento';
const IDPOLICY = 'max'; // {max, serial}

public function __construct($id = NULL, $callObjectLoad = TRUE)
{
parent::__construct($id, $callObjectLoad);
parent::addAttribute('descTipoEquipamento');
}
}

/*****
class Marcamodelo extends TRecord
{
const TABLENAME = 'marcamodelo';
const PRIMARYKEY= 'idMarcaModelo';
const IDPOLICY = 'max'; // {max, serial}

private $tipoequipamento;

public function __construct($id = NULL, $callObjectLoad = TRUE)
{
parent::__construct($id, $callObjectLoad);
parent::addAttribute('idTipoEquipamento');
parent::addAttribute('descMarcaModelo');
}

public function set_tipoequipamento(Tipoequipamento $object)
{
$this->tipoequipamento = $object;
$this->tipoequipamento_id = $object->id;
}

public function get_tipoequipamento()
{
// loads the associated object
if (empty($this->tipoequipamento))
$this->tipoequipamento = new Tipoequipamento($this->tipoequipamento_id);

// returns the associated object
return $this->tipoequipamento;
}
}

/****
// creates the datagrid columns
$column_idMarcaModelo = new TDataGridColumn('idMarcaModelo', 'Id', 'left');
$column_idTipoEquipamento = new TDataGridColumn('tipoequipamento->descTipoEquipamento', 'Id Tipo Equipamento', 'left');
$column_descMarcaModelo = new TDataGridColumn('descMarcaModelo', 'Descrição', 'left');

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (3)


IF

Olá Wilson, tenta assim:

 
  1. <?php
  2. public function set_tipoequipamento(Tipoequipamento $object)
  3. {
  4. $this->tipoequipamento = $object;
  5. //$this->tipoequipamento_id = $object->id;
  6. $this->idTipoEquipamento = $object->id // vem do: parent::addAttribute('idTipoEquipamento');
  7. }
  8. public function get_tipoequipamento()
  9. {
  10. // loads the associated object
  11. if (empty($this->tipoequipamento))
  12. //$this->tipoequipamento = new Tipoequipamento($this->tipoequipamento_id);
  13. $this->tipoequipamento = new Tipoequipamento($this->idTipoEquipamento);
  14. // returns the associated object
  15. return $this->tipoequipamento;
  16. }
  17. ?>

WR

Bom dia Ivan Fernandes!!
Muitíssimo obrigado Amigo, deu certinho.
Lição aprendida !!!

Grande abraço!
IF

Bom dia Wilson! Show de bola. Abraço