Inscrições abertas para nosso Webinar anual Adianti Framework 2024!
Clique aqui para saber mais
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.         
  12.         $html = new THtmlRenderer('app/resources/google_bar_horizontal_chart.html');
  13.         try {
  14.             TTransaction::open(App::Database());
  15.             $consumo_parceiros = array();
  16.             
  17.             $sql  'select ';
  18.             $sql .= 'pessoa.fantasia, ';
  19.             $sql .= 'count(vconsumo.id) as consumo ';
  20.             $sql .= 'from vconsumo ';
  21.             $sql .= 'inner join pessoa on pessoa.id = vconsumo.pessoa_id ';
  22.             $sql .= 'where (vconsumo.edicao_id = '$params['edicao_id'] .') ';
  23.             $sql .= 'group by pessoa.fantasia ';
  24.             $sql .= 'order by consumo';
  25.             
  26.             $conn TTransaction::get();
  27.             $result $conn->query($sql);
  28.             $consumo_parceiros = array();
  29.             foreach ($result as $row);
  30.             {
  31.                 $consumo_parceiros[] = [$row['fantasia'],$row['consumo']];     
  32.             }
  33.             
  34.             var_dump($consumo_parceiros);
  35.             TTransaction::close();
  36.             
  37.         } catch (Exception $e) {
  38.             
  39.             var_dump($e->getMessage());
  40.             TTransaction::rollback();
  41.         }
  42.         
  43.         # PS: If you use values from database ($row['total'), 
  44.         # cast to float. Ex: (float) $row['total']
  45.         
  46.         $panel = new TPanelGroup($params['title']);
  47.         $panel->style 'width: 100%';
  48.         $panel->add($html);
  49.         
  50.         $data $consumo_parceiros
  51.         // replace the main section variables
  52.         $html->enableSection('main', array('data'   => json_encode($data),
  53.                                            'width'  => $params['width'],
  54.                                            'height' => $params['height'],
  55.                                            'title'  => $params['title'],
  56.                                            'ytitle' => $params['ytitle'], 
  57.                                            'xtitle' => $params['xtitle'],
  58.                                            'uniqid' => uniqid()));
  59.         
  60.         // add the template to the page
  61.         $container = new TVBox;
  62.         $container->style 'width: 100%';
  63.         if ($show_breadcrumb)
  64.         {
  65.             $container->add(new TXMLBreadCrumb('menu.xml'__CLASS__));
  66.         }
  67.         $container->add($panel);
  68.         parent::add($container);
  69.     }
  70. }
  71. </code>








Curso completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto 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!