Campo Tipo TDBMultiSearch savando o nome e não o id Precisei usar o campo Tipo TDBMultiSearch, mas ele salva o nome em vez do id da tabela... Obs: quando mudo para TDBcheckGroup funciana perfeito. Alguém ja passou por isso? veja o código: $destinatario = new TDBCheckGroup('destinatario','vf','TbResponsaveis','id_responsavel','nome'); // salva o id_responsavel perfeitamente $destinatario = new TDBMultiSearch('destinatario','vf','TbRespo...
VL
Campo Tipo TDBMultiSearch savando o nome e não o id  
Precisei usar o campo Tipo TDBMultiSearch, mas ele salva o nome em vez do id da tabela...
Obs: quando mudo para TDBcheckGroup funciana perfeito.
Alguém ja passou por isso?

veja o código:
$destinatario = new TDBCheckGroup('destinatario','vf','TbResponsaveis','id_responsavel','nome'); // salva o id_responsavel perfeitamente

$destinatario = new TDBMultiSearch('destinatario','vf','TbResponsaveis','id_responsavel','nome'); // salva o nome em vez do id_responsavel


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


NR

O TDBMultiSearch retorna um array associativo onde a chave é o id e o valor é o nome. Utilize a chave do array ao invés do valor.
IF

Um exemplo seria colocar no seu evento onSave:
 
  1. <?php
  2. $data = $this->form->getData(); // get form data as array
  3. $data->destinatario = key($data->destinatario);
  4. ?>
VL

Obrigado Ivan Fernandes pela sua dica, mas consegui resolver
fazendo um foreach:

foreach($object->destinatario as $nome =>$value){
$msn = new TbMsnDestinatario;
$msn->id_mensagen= $data->id_mensagem;
$msn->id_responsavel = $nome;
$msn->store();

}
assim eu recupero ele depois na edição...