Lançado Adianti Framework 7.6!
Clique aqui para saber mais
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 completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto Quero me inscrever agora!

Comentários (3)


IF

Olá Wilson, tenta assim:

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

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