Erro ao realizar select no Framework Olá pessoal! Estou passando por um problema ao fazer um SQL dentro do Framework. Talvez seja algum erro bobo mas não estou conseguindo encontrar a razão do problema. Preciso fazer esse select: select pessoa.fantasia, count(vconsumo.id) as consumo from vconsumo inner join pessoa on pessoa.id = vconsumo.pessoa_id where (vconsumo.edicao_id = 1) group by pessoa.fantasia order by consumo...
GO
Erro ao realizar select no Framework  
Olá pessoal!

Estou passando por um problema ao fazer um SQL dentro do Framework. Talvez seja algum erro bobo mas não estou conseguindo encontrar a razão do problema.

Preciso fazer esse select:
SELECT pessoa.fantasia, count(vconsumo.id) as consumo FROM vconsumo inner join pessoa on pessoa.id = vconsumo.pessoa_id WHERE (vconsumo.edicao_id = 1) GROUP BY pessoa.fantasia ORDER BY consumo


Executado no postgreSql me retorna 27 registros e dentro do Framework sempre o primeiro registro.

Deixo abaixo o meu código:

 
  1. <?php
  2. class ConsumoParceiroBarChartView extends TPage
  3. {
  4. /**
  5. * Class constructor
  6. * Creates the page
  7. */
  8. function __construct( $show_breadcrumb = true, $params = NULL)
  9. {
  10. parent::__construct();
  11. $html = new THtmlRenderer('app/resources/google_bar_horizontal_chart.html');
  12. try {
  13. TTransaction::open(App::Database());
  14. $consumo_parceiros = array();
  15. $sql = 'select ';
  16. $sql .= 'pessoa.fantasia, ';
  17. $sql .= 'count(vconsumo.id) as consumo ';
  18. $sql .= 'from vconsumo ';
  19. $sql .= 'inner join pessoa on pessoa.id = vconsumo.pessoa_id ';
  20. $sql .= 'where (vconsumo.edicao_id = '. $params['edicao_id'] .') ';
  21. $sql .= 'group by pessoa.fantasia ';
  22. $sql .= 'order by consumo';
  23. $conn = TTransaction::get();
  24. $result = $conn->query($sql);
  25. $consumo_parceiros = array();
  26. foreach ($result as $row);
  27. {
  28. $consumo_parceiros[] = [$row['fantasia'],$row['consumo']];
  29. }
  30. var_dump($consumo_parceiros);
  31. TTransaction::close();
  32. } catch (Exception $e) {
  33. var_dump($e->getMessage());
  34. TTransaction::rollback();
  35. }
  36. # PS: If you use values from database ($row['total'),
  37. # cast to float. Ex: (float) $row['total']
  38. $panel = new TPanelGroup($params['title']);
  39. $panel->style = 'width: 100%';
  40. $panel->add($html);
  41. $data = $consumo_parceiros;
  42. // replace the main section variables
  43. $html->enableSection('main', array('data' => json_encode($data),
  44. 'width' => $params['width'],
  45. 'height' => $params['height'],
  46. 'title' => $params['title'],
  47. 'ytitle' => $params['ytitle'],
  48. 'xtitle' => $params['xtitle'],
  49. 'uniqid' => uniqid()));
  50. // add the template to the page
  51. $container = new TVBox;
  52. $container->style = 'width: 100%';
  53. if ($show_breadcrumb)
  54. {
  55. $container->add(new TXMLBreadCrumb('menu.xml', __CLASS__));
  56. }
  57. $container->add($panel);
  58. parent::add($container);
  59. }
  60. }
  61. </code>








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


NR

Retire o ; no final da linha do foreach
GO

Caramba cara!
Eu juro que não vi isso.
Sabia que era uma orelhada. :(

Vou ver aqui.
Obrigado!