Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Acessando relacionamento no Datagrid Olá Pessoal, tudo bom? Como vocês fazem para acessar um valor vindo de um relacionamento para colocar em uma row no datagrid? $column_id_fornecedor = new TDataGridColumn('Pessoa::find(id_fornecedor)->nome_razao', 'Fornecedor', 'right'); Agradeço a tenção de todos!...
AR
Acessando relacionamento no Datagrid  
Olá Pessoal, tudo bom?

Como vocês fazem para acessar um valor vindo de um relacionamento para colocar em uma row no datagrid?

$column_id_fornecedor = new TDataGridColumn('Pessoa::find(id_fornecedor)->nome_razao', 'Fornecedor', 'right');


Agradeço a tenção de todos!

Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 Quero me inscrever agora!

Comentários (2)


AR

Minha solução!
$column_id_fornecedor->setTransformer( function($value, $object, $row) { $pessoa = new Pessoa($object->id_fornecedor); $despesa = new Despesa(); $despesa->pessoa = $pessoa; $value = $despesa->pessoa->nome_razao; return $value; });
MG

Angelo, faça o relacionamento no model, assim você acessaria:

$column_nome = new TDataGridColumn('pedido->nome','Noe Cliente','left');


Exemplo

  1. <?php
  1. <?php
  2. /**
  3.  * ClienteContato Active Record
  4.  * @author  Marcelo Gomes
  5.  */
  6. class ClienteContato extends TRecord
  7. {
  8.     const TABLENAME 'cliente_contato';
  9.     const PRIMARYKEY'id';
  10.     const IDPOLICY =  'serial'// {max, serial}
  11.     
  12.     const CREATEDAT 'created_at';
  13.     const UPDATEDAT 'updated_at';
  14.     
  15.     
  16.     private $cliente;
  17.     private $system_user;
  18.     /**
  19.      * Constructor method
  20.      */
  21.     public function __construct($id NULL$callObjectLoad TRUE)
  22.     {
  23.         parent::__construct($id$callObjectLoad);
  24.         parent::addAttribute('cliente_id');
  25.         parent::addAttribute('nome');
  26.         parent::addAttribute('email');
  27.         parent::addAttribute('telefone');
  28.         parent::addAttribute('celular');
  29.         parent::addAttribute('dia_mes');
  30.         parent::addAttribute('departamento');
  31.         parent::addAttribute('system_user_id');
  32.         parent::addAttribute('created_at');
  33.         parent::addAttribute('updated_at');
  34.     }
  35.     
  36.     /**
  37.      * Method set_cliente
  38.      * Sample of usage: $cliente_contato->cliente = $object;
  39.      * @param $object Instance of Cliente
  40.      */
  41.     public function set_cliente(Cliente $object)
  42.     {
  43.         $this->cliente $object;
  44.         $this->cliente_id $object->id;
  45.     }
  46.     
  47.     /**
  48.      * Method get_cliente
  49.      * Sample of usage: $cliente_contato->cliente->attribute;
  50.      * @returns Cliente instance
  51.      */
  52.     public function get_cliente()
  53.     {
  54.         // loads the associated object
  55.         if (empty($this->cliente))
  56.             $this->cliente = new Cliente($this->cliente_id);
  57.     
  58.         // returns the associated object
  59.         return $this->cliente;
  60.     }
  61.     
  62.     
  63.     /**
  64.      * Method set_system_user
  65.      * Sample of usage: $cliente_contato->system_user = $object;
  66.      * @param $object Instance of SystemUser
  67.      */
  68.     public function set_system_user(SystemUser $object)
  69.     {
  70.         $this->system_user $object;
  71.         $this->system_user_id $object->id;
  72.     }
  73.     
  74.     /**
  75.      * Method get_system_user
  76.      * Sample of usage: $cliente_contato->system_user->attribute;
  77.      * @returns SystemUser instance
  78.      */
  79.     public function get_system_user()
  80.     {
  81.         // loads the associated object
  82.         if (empty($this->system_user))
  83.             $this->system_user = new SystemUser($this->system_user_id);
  84.     
  85.         // returns the associated object
  86.         return $this->system_user;
  87.     }
  88.     
  89.     public function onBeforeStore($object)
  90.     {
  91.         $object->system_user_id TSession::getValue('userid');
  92.     }
  93. }
  94. ?>