HM
Valor do Tcombo não salva no banco
Estou com um problema onde a maioria dos dados é gravado no banco menos o valor do Tcombo('motivo'), uso o método set para enviar os valores para o objeto.
- <?php
- $concurso = new TDBCombo('concurso_id', 'sorteioapp', 'Concursos', 'concurso_id', 'concurso_id');
- $bilheteInicio = new TEntry('bilheteInicio');
- $bilheteFim = new TEntry('bilheteFim');
- $regional = new TDBUniqueSearch('regional_id', 'sorteioapp', 'RegionalModel', 'regional_id', 'nome');
- $filter = new TCriteria;
- $filter->add(new TFilter('estabelecimento_id', '<', '0'));
- $estabelecimento = new TDBCombo('estabelecimento_id', 'sorteioapp', 'EstabelecimentoModel', 'estabelecimento_id','nome','nome', $filter);
- $motivo = new TCombo('motivo');
- $regional->setMinLength(0);
- $regional->setChangeAction( new TAction([$this, 'onChangeRegional']) );
- $motivo->addItems( ["R" => 'Dist. Regional',
- "E" => 'Dist. Estabelecimento',
- "D" => 'Devolução Faixa',
- "X" => 'Redistribuição Faixa',
- "Y" => 'Redistribuição Excedente']);
- foreach($lstIntervalos as $intervalo){
- $transferencia = new DistribuicaoBilhetes();
- $transferencia->set_concurso( intval($intervalo['concurso_id']));
- $transferencia->set_numeroInicio(intval($intervalo['numinicio']));
- $transferencia->set_numeroFim(intval($intervalo['numfim']));
- if($intervalo['regional_id'] != null){
- $transferencia->set_antigaRegional(intval($intervalo['regional_id']));
- }
- if($intervalo['estabelecimento_id'] != null){
- $transferencia->set_antigoEstabelecimento(intval($intervalo['estabelecimento_id']));
- }
- if($novaRegional != null){
- $transferencia->set_novaRegional(intval($novaRegional->regional_id));
- }
- if($novoEstabelecimento != null){
- $transferencia->set_novoEstabelecimento($novoEstabelecimento->estabelecimento_id);
- }
- $usuario = TSession::getValue('login');
- $dataAtual = date('Y-m-d H:m:i');
- $transferencia->lastModifiedBy($usuario);
- $transferencia->set_lastModifiedDate($dataAtual);
- $transferencia->set_motivo($motivo);
- $transferencia->store();
- ?>
Imagino que possa ter relação com o nome da função "set_motivo". Ao tentar atribuir valor a uma variável em um model, há uma checagem pelo método "set_" + nome do atributo.
Faça um teste alterando o nome da função para "set_motivo_descricao", por exemplo.
era isso mesmo, muito obrigado!