Inscrições abertas para nosso Webinar anual Adianti Framework 2024!
Clique aqui para saber mais
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);  //página atual de salvamento
  5.         try
  6.         {
  7.             TTransaction::open('permission'); // open a transaction
  8.             
  9.             /**
  10.             // Enable Debug logger for SQL operations inside the transaction
  11.             TTransaction::setLogger(new TLoggerSTD); // standard output
  12.             TTransaction::setLogger(new TLoggerTXT('log.txt')); // file
  13.             **/
  14.             
  15.             $this->form->validate();                // valida dados do form
  16.             
  17.             $object = new Titular;                  // cria os objetos em branco
  18.             $data $this->form->getData();         // pega dados do form como array
  19.             $object->fromArray( (array) $data);     // lê os objetos do array
  20.             
  21.             //Formato americano para salvar no banco
  22.             $renda_total str_replace('.','',$object->rendatotal);
  23.             $renda_total str_replace(',','.',$renda_total);
  24.             $object->rendatotal $renda_total;
  25.             
  26.             //Formato americano para salvar no banco
  27.             $object->datemisrg TDate::date2us($object->datemisrg);
  28.             $object->datnasc TDate::date2us($object->datnasc);
  29.             
  30.             // salva os objetos
  31.             $object->store();                       
  32.             
  33.             // get the generated id
  34.             $data->id $object->id;
  35.             
  36.             // preenche o formulário
  37.             $this->form->setData($data);             
  38.             TTransaction::close();                   
  39.             
  40.             new TMessage('info'TAdiantiCoreTranslator::translate('Record saved'));
  41.         }
  42.         catch (Exception $e)                                     // in case of exception
  43.         {
  44.             new TMessage('error'$e->getMessage());             // mostra os erros de exceção
  45.             $this->form->setData$this->form->getData() );      // continua com os dados
  46.             TTransaction::rollback();                            // undo all pending operations
  47.         }
  48.     }
  49. ?>

Curso completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto 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!!!