Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Problemas Update Boa tarde. Estou tentando fazer um Update numa tabela com FK, que funciona normal contanto que eu não saia da tela Form, porém, se eu volto pra List e tento editar de novo, ele dá um Update adicionando campos em branco na tabela. onSave: public function onSave( $param ) { try { TTransaction::open('permission'); TTransaction::setLogge...
GM
Problemas Update  
Boa tarde. Estou tentando fazer um Update numa tabela com FK, que funciona normal contanto que eu não saia da tela Form, porém, se eu volto pra List e tento editar de novo, ele dá um Update adicionando campos em branco na tabela.

onSave:
public function onSave( $param ) { try { TTransaction::open('permission'); TTransaction::setLogger(new TLoggerTXT('tmp/grupos.txt')); $this->form->validate(); $objGrupo = new Grupos(); TTransaction::log("** insert grupo ".print_r($objGrupo, true)); $data = $this->form->getData(); $data->GrupoNm = TSession::getValue('GrupoNm'); $data->GrupoId = TSession::getValue('GrupoId'); $objGrupo->fromArray( (array) $data); TTransaction::log("** DATA ".print_r($data, true)); $objGrupo->store(); $data->GrupoId = $objGrupo->GrupoId; TSession::setValue('GrupoId', $data->GrupoId); TTransaction::log("** id grupo ".$data->GrupoId." "); $search = array(); $GrupoOrder = 1; foreach($data->lista as $sig){ $objGrupo->addGrupoPess($data->GrupoId, $sig, $GrupoOrder); $GrupoOrder++; $objPess = new GnrPess($sig); $search[$sig] = "".$objPess->GnrPessNm. ' - ' . $objPess->GnrPessCpf.""; TTransaction::log("** signatario ".$sig." "); } TTransaction::close(); TSession::setValue('search', $search); $data->search = $search; $this->form->setData($data); new TMessage('info', TAdiantiCoreTranslator::translate('Record saved')); } catch (Exception $e) { new TMessage('error', $e->getMessage()); $this->form->setData( $this->form->getData() ); TTransaction::rollback(); } }


Store do Model

public function store() { // store the object itself parent::store(); TTransaction::open('permission'); TTransaction::setLogger(new TLoggerTXT('tmp/gruposmodel.txt')); $repository = new TRepository('GrupoPess'); $criteria = new TCriteria; $criteria->add(new TFilter('GrupoId', '=', $this->GrupoId)); $repository->delete($criteria); TTransaction::log("** grupos pess ".print_r($criteria, true)." "); TTransaction::close(); }


E meu addGrupoPess

public function addGrupoPess($GrupoId, $GnrPessId, $GrupoOrder) { if($GrupoId){ TTransaction::setLogger(new TLoggerTXT('tmp/addGP.txt')); $GrupoPess = new GrupoPess; $GrupoPess->GrupoId = $GrupoId; $GrupoPess->GnrPessId = $GnrPessId; $GrupoPess->GrupoOrder = $GrupoOrder; $GrupoPess->store(); $grupo_pess[] = $GrupoPess; TTransaction::log("** grupo pess ".print_r($GrupoPess, true)." "); }else{ TTransaction::log("** ELSE SEM GRUPO "); } }


Como podem ver, tá cheio de logs, mas nem assim consigo saber qual o problema. Em anexo tem a imagem de como fica o banco após o Update.

Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 Quero me inscrever agora!

Comentários (1)


GM

Deixei pra postar aqui só quando não tivesse mais esperanças... mas consegui achar o erro. O problema era no onEdit quando chamava o Grupos

Antes era:
  1. <?php
  2. $object = new Grupos($key);
  3. ?>

e ele criava campos em branco no GrupoPess
Resolvi colocando o FALSE:
  1. <?php
  2. $object = new Grupos($keyFALSE);
  3. ?>