Dúvida ao gerar id Olá a todos, uma dúvida: quando salvo os dados de um form ele gera o id automaticamente, só não está jogando o id no form, abaixo o código do onSave alguém pode dar uma força? ...
MO
Dúvida ao gerar id  
Olá a todos, uma dúvida: quando salvo os dados de um form ele gera o id automaticamente, só não está jogando o id no form, abaixo o código do onSave
alguém pode dar uma força?

 
  1. <?php
  2. public function onSave($param)
  3. {
  4. $this->notebook->setCurrentPage( 1 ); //página atual de salvamento
  5. try
  6. {
  7. TTransaction::open('permission'); // open a transaction
  8. /**
  9. // Enable Debug logger for SQL operations inside the transaction
  10. TTransaction::setLogger(new TLoggerSTD); // standard output
  11. TTransaction::setLogger(new TLoggerTXT('log.txt')); // file
  12. **/
  13. $this->form->validate(); // valida dados do form
  14. $object = new Titular; // cria os objetos em branco
  15. $data = $this->form->getData(); // pega dados do form como array
  16. $object->fromArray( (array) $data); // lê os objetos do array
  17. //Formato americano para salvar no banco
  18. $renda_total = str_replace('.','',$object->rendatotal);
  19. $renda_total = str_replace(',','.',$renda_total);
  20. $object->rendatotal = $renda_total;
  21. //Formato americano para salvar no banco
  22. $object->datemisrg = TDate::date2us($object->datemisrg);
  23. $object->datnasc = TDate::date2us($object->datnasc);
  24. // salva os objetos
  25. $object->store();
  26. // get the generated id
  27. $data->id = $object->id;
  28. // preenche o formulário
  29. $this->form->setData($data);
  30. TTransaction::close();
  31. new TMessage('info', TAdiantiCoreTranslator::translate('Record saved'));
  32. }
  33. catch (Exception $e) // in case of exception
  34. {
  35. new TMessage('error', $e->getMessage()); // mostra os erros de exceção
  36. $this->form->setData( $this->form->getData() ); // continua com os dados
  37. TTransaction::rollback(); // undo all pending operations
  38. }
  39. }
  40. ?>

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

Marcos, confirme que está adicionando o id ao form:
 
  1. <?php
  2. $this->form->addField($id);
  3. ?>
AA

Marcos, o ID foi carregado, apenas não está mostrando no form por que não houve um novo carregamento do mesmo, eu efetuo um novo carregamento do form quando ele salva, adicionando a linha
$this->onEdit(array('key'=>$data->id));
após a mensagem de registro salvo.
MO

Pessoal, só falta de atenção mesmo, em vez de "id" é pra ser "cod_titular", eu fiz essa alteração no BD e não mudei no form, deu certo obrigado pela atenção!!!