Ir para o conteúdo

 Voltar a Fórum do For...
Tela cheia

Campo Serial Postgres

14 de Maio de 2013, 0:15 , por Desconhecido - | Ninguém seguindo este artigo por enquanto.
Visualizado 14 vezes

 

Como faço para recuperar um campo gerado por uma sequencia, no momento que salvo o formulário.

O campo fica em branco, mas quando edito o mesmo registro o código é apresentado normalmente.

$frm->addTextField('id','Código:',10);

$frm->addTextField('descricao','Descrição:',50,TRUE);

$frm->addTextField('sigla','Sigla:',30,TRUE); 

$frm->disableFields('id'); 

Autor: Ederson Santos


1Um comentário

  • 51b06d6eae66e2cfdfc361d418eea715?only path=false&size=50&d=404Luis Eugênio barbosa(usuário não autenticado)
    14 de Maio de 2013, 16:20

     

    Ederson,

    se voce estiver utilizando a classe DAO no padrão do formdin, basta utilizar a clausula returning do postgre para retornar o campo serial gerado após o insert.

    Exemplo:

    ...

    return self::qry('insert into tabela_xxx (
                                     codigo
                                    ,nome
                                    ) values (?,?) returning codigo', $values );
    e depois de executar o metodo insert voce pode alimentar o campo codigo do formulário:

    $res = $daoXXX->insert($voXXX);
    $frm->set('codigo',$res['CODIGO'][0]); // ler o ultimo id gerado

     Abraço.

Essa comunidade não possui posts nesse blog