Lançado Adianti Framework 7.6!
Clique aqui para saber mais
TDBMultiSearch não exibe o nome dos Papéis - Módulo de Pessoas Olá! Estou migrando o módulo Pessoas para uma base de dados em MySQL mas estou com um problema no campo papeis_id. O método onSave funciona normal mas no onEdit, o PessoaForm exibe apenas os id's e não os nomes dos papéis. Instância do TDBMultiSearch ...
FL
TDBMultiSearch não exibe o nome dos Papéis - Módulo de Pessoas  
Olá!
Estou migrando o módulo Pessoas para uma base de dados em MySQL mas estou com um problema no campo papeis_id.
O método onSave funciona normal mas no onEdit, o PessoaForm exibe apenas os id's e não os nomes dos papéis.


Instância do TDBMultiSearch
  1. <?php  
  2.      $field_papeis_id = new TDBMultiSearch('papeis_id''millweb''Papel''id''nome''nome'$filter2);  
  3. ?>


onEdit()

  1. <?php
  2. public function onEdit($param)
  3.     {
  4.         try
  5.         {
  6.             if (isset($param['key']))
  7.             {
  8.                 $key $param['key'];
  9.                 TTransaction::open('millweb');
  10.                 $object = new Pessoa($key);                
  11.                 $object->papeis_id PessoaPapel::where('pessoa_id''='$object->id)->getIndexedArray('papel_id');  
  12.                 $this->form->setData($object);                
  13.                 // force fire events
  14.                 $data = new stdClass;
  15.                 $data->estado_id $object->cidade->estado->id;
  16.                 $data->cidade_id $object->cidade_id;
  17.                 TForm::sendData('form_Pessoa'$data);               
  18.                 TTransaction::close();
  19.             }
  20.             else
  21.             {
  22.                 $this->form->clear(TRUE);
  23.             }
  24.         }
  25.         catch (Exception $e
  26.         {
  27.             new TMessage('error'$e->getMessage()); 
  28.             TTransaction::rollback(); 
  29.         }
  30.     }
  31. ?>

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


NR

Tá usando a última versão do Adianti? Testei aqui e funcionou.

Se não for a última versão e não quiser atualizar, tente passar um array associativo(id - descricao) para o campo:
  1. <?php
  2. $object->papeis_id Papel::where('id','in',"(SELECT papel_id from pessoa_papel where pessoa_id = {$object->id})")->getIndexedArray('id','nome');  
  3. ?>