Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Mostrar campos de Tabela Auxiliar Tenho visto os exemplos do framework que no vídeo mostra um cadastro de clientes e pega o campo cidade e mostra no cadastro, segui o exemplo, mas comigo não está funcionado... não sei o que fazer..sou novo com esse framework e com o php.. agradeço desde ja a ajuda. segue a classe e os códigos em questão ...
M
Mostrar campos de Tabela Auxiliar  
Tenho visto os exemplos do framework que no vídeo mostra um cadastro de clientes e pega o campo cidade e mostra no cadastro, segui o exemplo, mas comigo não está funcionado... não sei o que fazer..sou novo com esse framework e com o php.. agradeço desde ja a ajuda.

segue a classe e os códigos em questão

  1. <?php
  2. /**
  3.  * Local Active Record
  4.  * @author  <your-name-here>
  5.  */
  6. class Local extends TRecord
  7. {
  8.     const TABLENAME '"public"."local"';
  9.     const PRIMARYKEY'id';
  10.     const IDPOLICY =  'max'// {max, serial}
  11.     
  12.     
  13.     private $midias;
  14.     private $parcerias;
  15.     private $proprietario;
  16.     private $regiao;
  17.     /**
  18.      * Constructor method
  19.      */
  20.     public function __construct($id NULL$callObjectLoad TRUE)
  21.     {
  22.         parent::__construct($id$callObjectLoad);
  23.         parent::addAttribute('empresa');
  24.         parent::addAttribute('id_proprietario');
  25.         parent::addAttribute('id_midia');
  26.         parent::addAttribute('id_parceria');
  27.         parent::addAttribute('id_regiao');
  28.         parent::addAttribute('descricao');
  29.         parent::addAttribute('data_final');
  30.         parent::addAttribute('data_instalacao');
  31.         parent::addAttribute('valor_custo');
  32.         parent::addAttribute('setor');
  33.         parent::addAttribute('bairro');
  34.         parent::addAttribute('latitude');
  35.         parent::addAttribute('logitude');
  36.         parent::addAttribute('local_iluminado');
  37.         parent::addAttribute('local_nobre');
  38.         parent::addAttribute('status');
  39.         parent::addAttribute('restricoes');
  40.         parent::addAttribute('marcar');
  41.         parent::addAttribute('parceria_marca');
  42.         parent::addAttribute('caminho_imagem');
  43.         parent::addAttribute('usuario');
  44.         parent::addAttribute('apagado');
  45.         parent::addAttribute('upd_ctrl');
  46.     }
  47.     
  48.     /**
  49.      * Method set_midias
  50.      * Sample of usage: $local->midias = $object;
  51.      * @param $object Instance of Midias
  52.      */
  53.     public function set_midias(Midias $object)
  54.     {
  55.         $this->midias $object;
  56.         $this->midias_id $object->id;
  57.     }
  58.     
  59.     /**
  60.      * Method get_midias
  61.      * Sample of usage: $local->midias->attribute;
  62.      * @returns Midias instance
  63.      */
  64.     public function get_midias()
  65.     {
  66.         // loads the associated object
  67.         if (empty($this->midias))
  68.             $this->midias = new Midias($this->midias_id);
  69.     
  70.         // returns the associated object
  71.         return $this->midias;
  72.     }
  73.     
  74.     
  75.     /**
  76.      * Method set_parcerias
  77.      * Sample of usage: $local->parcerias = $object;
  78.      * @param $object Instance of Parcerias
  79.      */
  80.     public function set_parcerias(Parcerias $object)
  81.     {
  82.         $this->parcerias $object;
  83.         $this->parcerias_id $object->id;
  84.     }
  85.     
  86.     /**
  87.      * Method get_parcerias
  88.      * Sample of usage: $local->parcerias->attribute;
  89.      * @returns Parcerias instance
  90.      */
  91.     public function get_parcerias()
  92.     {
  93.         // loads the associated object
  94.         if (empty($this->parcerias))
  95.             $this->parcerias = new Parcerias($this->parcerias_id);
  96.     
  97.         // returns the associated object
  98.         return $this->parcerias;
  99.     }
  100.     
  101.     
  102.     /**
  103.      * Method set_proprietario
  104.      * Sample of usage: $local->proprietario = $object;
  105.      * @param $object Instance of Proprietario
  106.      */
  107.     public function set_proprietario(Proprietario $object)
  108.     {
  109.         $this->proprietario $object;
  110.         $this->proprietario_id $object->id;
  111.     }
  112.     
  113.     /**
  114.      * Method get_proprietario
  115.      * Sample of usage: $local->proprietario->attribute;
  116.      * @returns Proprietario instance
  117.      */
  118.     public function get_proprietario()
  119.     {
  120.         // loads the associated object
  121.         if (empty($this->proprietario))
  122.             $this->proprietario = new Proprietario($this->proprietario_id);
  123.     
  124.         // returns the associated object
  125.         return $this->proprietario;
  126.     }
  127.     
  128.     
  129.     /**
  130.      * Method set_regiao
  131.      * Sample of usage: $local->regiao = $object;
  132.      * @param $object Instance of regiao
  133.      */
  134.     public function set_regiao(regiao $object)
  135.     {
  136.         $this->regiao $object;
  137.         $this->regiao_id $object->id;
  138.     }
  139.     
  140.     /**
  141.      * Method get_regiao
  142.      * Sample of usage: $local->regiao->attribute;
  143.      * @returns regiao instance
  144.      */
  145.     public function get_regiao()
  146.     {
  147.         // loads the associated object
  148.         if (empty($this->regiao))
  149.             $this->regiao = new regiao($this->regiao_id);
  150.     
  151.         // returns the associated object
  152.         return $this->regiao;
  153.     } 
  154. }
  155. -------------------------------------------------------------------
  1. <?php
  2. /**
  3.  * LocalList Listing
  4.  * @author  <your name here>
  5.  */
  6. class LocalList extends TPage
  7. {
  8.     protected $form;     // registration form
  9.     protected $datagrid// listing
  10.     protected $pageNavigation;
  11.     protected $formgrid;
  12.     protected $deleteButton;
  13.     
  14.     use Adianti\base\AdiantiStandardListTrait;
  15.     
  16.     /**
  17.      * Page constructor
  18.      */
  19.     public function __construct()
  20.     {
  21.         parent::__construct();
  22.         
  23.         $this->setDatabase('painel');            // defines the database
  24.         $this->setActiveRecord('Local');   // defines the active record
  25.         $this->setDefaultOrder('bairro,setor,descricao''asc');         // defines the default order
  26.         $this->setLimit(10);
  27.         // $this->setCriteria($criteria) // define a standard filter
  28.         $this->addFilterField('id''=''id'); // filterField, operator, formField
  29.         $this->addFilterField('empresa''like''empresa'); // filterField, operator, formField
  30.         $this->addFilterField('id_proprietario''=''id_proprietario'); // filterField, operator, formField
  31.         $this->addFilterField('id_midia''like''id_midia'); // filterField, operator, formField
  32.         $this->addFilterField('id_parceria''like''id_parceria'); // filterField, operator, formField
  33.         $this->addFilterField('id_regiao''like''id_regiao'); // filterField, operator, formField
  34.         $this->addFilterField('descricao''like''descricao'); // filterField, operator, formField
  35.         $this->addFilterField('data_final''like''data_final'); // filterField, operator, formField
  36.         $this->addFilterField('data_instalacao''like''data_instalacao'); // filterField, operator, formField
  37.         $this->addFilterField('valor_custo''like''valor_custo'); // filterField, operator, formField
  38.         $this->addFilterField('setor''like''setor'); // filterField, operator, formField
  39.         $this->addFilterField('bairro''like''bairro'); // filterField, operator, formField
  40.         $this->addFilterField('latitude''like''latitude'); // filterField, operator, formField
  41.         $this->addFilterField('logitude''like''logitude'); // filterField, operator, formField
  42.         $this->addFilterField('local_iluminado''like''local_iluminado'); // filterField, operator, formField
  43.         $this->addFilterField('local_nobre''like''local_nobre'); // filterField, operator, formField
  44.         $this->addFilterField('status''like''status'); // filterField, operator, formField
  45.         $this->addFilterField('restricoes''like''restricoes'); // filterField, operator, formField
  46.         $this->addFilterField('marcar''like''marcar'); // filterField, operator, formField
  47.         $this->addFilterField('parceria_marca''like''parceria_marca'); // filterField, operator, formField
  48.         $this->addFilterField('caminho_imagem''like''caminho_imagem'); // filterField, operator, formField
  49.         $this->addFilterField('usuario''like''usuario'); // filterField, operator, formField
  50.         $this->addFilterField('apagado''like''apagado'); // filterField, operator, formField
  51.         $this->addFilterField('upd_ctrl''like''upd_ctrl'); // filterField, operator, formField
  52.         
  53.         // creates the form
  54.         $this->form = new BootstrapFormBuilder('form_search_Local');
  55.         $this->form->setFormTitle('Pesquisa Local/Tabuleta');
  56.         
  57.         $this->form->appendPage('Básico');
  58.         $this->form->setFieldSizes('100%');
  59.         
  60.         // create the form fields
  61.         $id = new TEntry('id');
  62.         $empresa = new TEntry('empresa');
  63.         $id_proprietario = new TDBUniqueSearch('id_proprietario''painel''Proprietario''id''razao_social');
  64.         $id_midia = new TEntry('id_midia'); 
  65.         $id_parceria = new TEntry('id_parceria');
  66.         $id_regiao = new TEntry('id_regiao');
  67.         $descricao = new TEntry('Local');
  68.         $data_final = new TEntry('data_final');
  69.         $data_instalacao = new TEntry('data_instalacao');
  70.         $valor_custo = new TEntry('valor_custo');
  71.         $setor = new TEntry('setor');
  72.         $bairro = new TEntry('bairro');
  73.         $latitude = new TEntry('latitude');
  74.         $logitude = new TEntry('logitude');
  75.         $local_iluminado = new TEntry('local_iluminado');
  76.         $local_nobre = new TEntry('local_nobre');
  77.         $status = new TEntry('status');
  78.         $restricoes = new TEntry('restricoes');
  79.         $marcar = new TEntry('marcar');
  80.         $parceria_marca = new TEntry('parceria_marca');
  81.         $caminho_imagem = new TEntry('caminho_imagem');
  82.         $usuario = new TEntry('usuario');
  83.         $apagado = new TEntry('apagado');
  84.         $upd_ctrl = new TEntry('upd_ctrl');
  85.         // create the form fields
  86.         $setor = new TEntry('setor');
  87.         $status = new TCombo('status');
  88.         $descricao = new TEntry('descricao');
  89.         $bairro = new TEntry('bairro');
  90.         // add the fields
  91.         $row $this->form->addFields( [ new TLabel('Setor'),  $setor ],                                     
  92.                                        [ new TLabel('Status'), $status ],
  93.                                        [ new TLabel('Local/Tabuleta'),  $descricao ]);
  94.         $row->layout = ['col-sm-1''col-sm-2''col-sm-8'];
  95.         $row $this->form->addFields( [ new TLabel('Bairro'),  $bairro ]);        
  96.         $row->layout = ['col-sm-4'];
  97.         
  98.             
  99.         // keep the form filled during navigation with session data
  100.         $this->form->setDataTSession::getValue(__CLASS__.'_filter_data') );
  101.         
  102.         // add the search form actions
  103.         $btn $this->form->addAction(_t('Find'), new TAction([$this'onSearch']), 'fa:search');
  104.         $btn->class 'btn btn-sm btn-primary';
  105.         $this->form->addActionLink(_t('New'), new TAction(['LocalForm''onEdit']), 'fa:plus green');
  106.         
  107.         // creates a Datagrid
  108.         $this->datagrid = new BootstrapDatagridWrapper(new TDataGrid);
  109.         $this->datagrid->style 'width: 100%';
  110.         $this->datagrid->datatable 'true';
  111.         //$this->datagrid->enablePopover('Popover', 'Hi <b> {name} </b>');
  112.         
  113.         $status->addItems( [ 'V' => 'Ativo''F' => 'Inativo' ] );
  114.         // creates the datagrid columns
  115.         $column_id = new TDataGridColumn('id''Id''right');
  116.         $column_empresa = new TDataGridColumn('empresa''Empresa''right');
  117.         $column_id_proprietario = new TDataGridColumn('id_proprietario''Id Proprietario''right');
  118.         $column_id_midia = new TDataGridColumn('{midias->descricao}''Midia''left');
  119.         $column_id_parceria = new TDataGridColumn('id_parceria''Id Parceria''right');
  120.         $column_id_regiao = new TDataGridColumn('id_regiao','Região''right');
  121.         $column_descricao = new TDataGridColumn('descricao''Local/Tabuleta''left');
  122.         $column_data_final = new TDataGridColumn('data_final''Data Final''left');
  123.         $column_data_instalacao = new TDataGridColumn('data_instalacao''Data Instalacao''left');
  124.         $column_valor_custo = new TDataGridColumn('valor_custo''Valor Custo''right');
  125.         $column_setor = new TDataGridColumn('setor''Setor''center');
  126.         $column_bairro = new TDataGridColumn('bairro''Bairro''left');
  127.         $column_latitude = new TDataGridColumn('latitude''Latitude''left');
  128.         $column_logitude = new TDataGridColumn('logitude''Logitude''left');
  129.         $column_local_iluminado = new TDataGridColumn('local_iluminado''Local Iluminado''left');
  130.         $column_local_nobre = new TDataGridColumn('local_nobre''Local Nobre''left');
  131.         $column_status = new TDataGridColumn('status''Status''center');
  132.         $column_restricoes = new TDataGridColumn('restricoes''Restricoes''left');
  133.         $column_marcar = new TDataGridColumn('marcar''Marcar''left');
  134.         $column_parceria_marca = new TDataGridColumn('parceria_marca''Parceria Marca''left');
  135.         $column_caminho_imagem = new TDataGridColumn('caminho_imagem''Caminho Imagem''left');
  136.         $column_usuario = new TDataGridColumn('usuario''Usuario''left');
  137.         $column_apagado = new TDataGridColumn('apagado''Apagado''left');
  138.         $column_upd_ctrl = new TDataGridColumn('upd_ctrl''Upd Ctrl''left');
  139.         $column_status->setTransformer( function ($value) {
  140.             return $value == 'V' 'Ativo' 'Inativo';
  141.         });
  142.         
  143.         $this->datagrid->addColumn($column_id);
  144.         $this->datagrid->addColumn($column_status);
  145.         $this->datagrid->addColumn($column_setor);
  146.         $this->datagrid->addColumn($column_descricao);
  147.         $this->datagrid->addColumn($column_bairro);
  148.         $this->datagrid->addColumn($column_id_midia);
  149.         
  150.         $action1 = new TDataGridAction(['LocalForm''onEdit'], ['id'=>'{id}']);
  151.         $action2 = new TDataGridAction([$this'onDelete'], ['id'=>'{id}']);
  152.         
  153.         $this->datagrid->addAction($action1_t('Edit'),   'far:edit blue');
  154.         $this->datagrid->addAction($action2 ,_t('Delete'), 'far:trash-alt red');
  155.         
  156.         // create the datagrid model
  157.         $this->datagrid->createModel();
  158.         
  159.         // creates the page navigation
  160.         $this->pageNavigation = new TPageNavigation;
  161.         $this->pageNavigation->setAction(new TAction([$this'onReload']));
  162.         
  163.         $panel = new TPanelGroup('Listagem de Local/Tabuleta''white');
  164.         $panel->add($this->datagrid);
  165.         $this->pageNavigation->enableCounters();
  166.         $panel->addFooter($this->pageNavigation);
  167.         
  168.         // header actions
  169.         $dropdown = new TDropDown(_t('Export'), 'fa:list');
  170.         $dropdown->setPullSide('right');
  171.         $dropdown->setButtonClass('btn btn-default waves-effect dropdown-toggle');
  172.         $dropdown->addAction_t('Save as CSV'), new TAction([$this'onExportCSV'], ['register_state' => 'false''static'=>'1']), 'fa:table blue' );
  173.         $dropdown->addAction_t('Save as PDF'), new TAction([$this'onExportPDF'], ['register_state' => 'false''static'=>'1']), 'far:file-pdf red' );
  174.         $panel->addHeaderWidget$dropdown );
  175.         
  176.         // vertical box container
  177.         $container = new TVBox;
  178.         $container->style 'width: 100%';
  179.         $container->add(new TXMLBreadCrumb('menu.xml'__CLASS__));
  180.         $container->add($this->form);
  181.         $container->add($panel);
  182.         
  183.         parent::add($container);
  184.     }
  185. }

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 (3)


LC

Retire as chaves de {midias->descricao}
Deixa só midias->descricao
NR

No model Local o nome da coluna é "id_midia", mas na função get_midias você usa "midias_id".
  1. <?php
  2. // construct
  3. parent::addAttribute('id_midia');
  4. public function get_midias()
  5. {
  6.       // loads the associated object
  7.       if (empty($this->midias))
  8.           //$this->midias = new Midias($this->midias_id);
  9.           $this->midias = new Midias($this->id_midia);
  10.     
  11.       // returns the associated object
  12.       return $this->midias;
  13.  }
  14. ?>
M

Obrigado Nataniel Rabaioli, funcionou....
Leandro Coelho, obrigado pelo esforço de me ajudar, grato aos dois.