TDBMultiSearch - Problemas com getPostData() Olá. Na versão 7.2, o componente TDBMultiSearch, na função getPostData(), está abrindo uma transação sem finalizá-la depois. ...
R
TDBMultiSearch - Problemas com getPostData()  
Olá.

Na versão 7.2, o componente TDBMultiSearch, na função getPostData(), está abrindo uma transação sem finalizá-la depois.

 
  1. <?php
  2. public function getPostData()
  3. {
  4. $ini = AdiantiApplicationConfig::get();
  5. if (isset($_POST[$this->name]))
  6. {
  7. $values = $_POST[$this->name];
  8. if (isset($ini['general']['compat']) AND $ini['general']['compat'] == '4')
  9. {
  10. $return = [];
  11. if (is_array($values))
  12. {
  13. TTransaction::open($this->database);
  14. foreach ($values as $value)
  15. {
  16. if ($value)
  17. {
  18. $model = $this->model;
  19. $pk = constant("{$model}::PRIMARYKEY");
  20. if ($pk === $this->key) // key is the primary key (default)
  21. {
  22. // use find because it uses cache
  23. $object = $model::find( $value );
  24. }
  25. else // key is an alternative key (uses where->first)
  26. {
  27. $object = $model::where( $this->key, '=', $value )->first();
  28. }
  29. if ($object)
  30. {
  31. $description = $object->render($this->mask);
  32. $return[$value] = $description;
  33. }
  34. }
  35. }
  36. }
  37. return $return;
  38. }
  39. else
  40. {
  41. if (empty($this->separator))
  42. {
  43. return $values;
  44. }
  45. else
  46. {
  47. return implode($this->separator, $values);
  48. }
  49. }
  50. }
  51. else
  52. {
  53. return '';
  54. }
  55. }
  56. ?>

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 (5)


RB

Faltou, fechar a transação na linha 55
 
  1. <?php
  2. if (is_array($values))
  3. {
  4. TTransaction::open($this->database);
  5. //....
  6. TTransaction::close();
  7. }
  8. //...
  9. ?>


RB

Corrigindo

Faltou, fechar a transação na linha 40
R

Sim. Só lembrando que este é um erro do framework que precisa ser corrigido.
R

Sim. Só lembrando que este é um erro do framework que precisa ser corrigido.
R

Sim. Só lembrando que este é um erro do framework que precisa ser corrigido.