TDBSeekButton X TDBUniqueSearch Imagina que eu tinha um código que era new TDBSeekButton('fornecedor_id', 'erpweb',$this->form->getName(), 'Fornecedor','pessoa->nome', 'fornecedor_id', 'fornecedor_nome'); e agora quero migrar para new TDBUniqueSearch('fornecedor_id', 'erpweb', 'Fornecedor', 'id', 'nome','nome asc'); Lembrando que na tabela pessoa tenho o campo nome e no pedido de compra tenho o campo fornecedor_id que busca o ...
GG
TDBSeekButton X TDBUniqueSearch  
Imagina que eu tinha um código que era new TDBSeekButton('fornecedor_id', 'erpweb',$this->form->getName(), 'Fornecedor','pessoa->nome', 'fornecedor_id', 'fornecedor_nome'); e agora quero migrar para new TDBUniqueSearch('fornecedor_id', 'erpweb', 'Fornecedor', 'id', 'nome','nome asc');
Lembrando que na tabela pessoa tenho o campo nome e no pedido de compra tenho o campo fornecedor_id que busca o campo nome na tabela pessoa.
Tentei usar como abaixo mas não funciona
new TDBUniqueSearch(fornecedor_id', 'erpweb', 'Fornecedor', 'pessoa->nome', 'nome','nome asc');

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


NR

Para exibir o nome da pessoa pode usar a função setMask:
 
  1. <?php
  2. $unique->setMask('{pessoa->nome}');
  3. ?>

Isso vai resolver o problema da exibição, mas não vai funcionar a busca por ser uma coluna de outra tabela. Talvez com subselect funcione:
 
  1. <?php
  2. $unique = new TDBUniqueSearch(fornecedor_id', 'erpweb', 'Fornecedor', '(select nome from pessoa where id = pessoa_id)',...
  3. ?>

Se isso não funcionar, sugiro criar uma view com join das 2 tabelas e usá-la como repositório do componente.
GG

Deu certo Nataniel, obrigado.

$cliente_id = new TDBUniqueSearch('cliente_id', 'erpweb', 'Cliente', 'id', '(select nome from pessoa where id = pessoa_id)','id asc');

$cliente_id->setMask('{pessoa->nome} - {pessoa->cnpj_cpf}');