TRepository 'A classe TblDashboardMensal deve estar definida' Bom dia Amigos, Estou fazendo um dashboard utilizando TCriteria porém utilizando a função abaixo ele me retorna "A classe TblDashboardMensal deve estar definida", tenho uma classe chamada TblDashboardMensal com seu respectivo construtor porém mesmo assim ele me retorna este erro. try { TTransaction::open('tutor'); $criteria = new TCriteria; ...
JM
TRepository 'A classe TblDashboardMensal deve estar definida'  
Bom dia Amigos,

Estou fazendo um dashboard utilizando TCriteria porém utilizando a função abaixo ele me retorna "A classe TblDashboardMensal deve estar definida", tenho uma classe chamada TblDashboardMensal com seu respectivo construtor porém mesmo assim ele me retorna este erro.

try
{
TTransaction::open('tutor');
$criteria = new TCriteria;
$criteria->add(new TFilter('NOME_ENT_ABR', 'like', 'REPROTEC%'),
TExpression::OR_OPERATOR);

$repository = new TRepository('TblDashboardMensal');
$count = $repository->count($criteria);

new TMessage('info', "Total of found customers: {$count}
n");
TTransaction::close();
}
catch (Exception $e)
{
new TMessage('error', $e->getMessage());
}

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


MG

O TRepository recebe um model, a classe "TblDashboardMensal" é um "model'?
Posta ele pra gente poder analisar!
JM

Segue...

 
  1. <?php
  2. /**
  3. * TblDashboardMensal Active Record
  4. * @author <your-name-here>
  5. */
  6. class TblDashboardMensal extends TRecord
  7. {
  8. const TABLENAME = 'tbl_dashboard_mensal';
  9. const PRIMARYKEY= 'ID_AVALIACAO';
  10. const IDPOLICY = 'max'; // {max, serial}
  11. /**
  12. * Constructor method
  13. */
  14. public function __construct($id = NULL, $callObjectLoad = TRUE)
  15. {
  16. parent::__construct($id, $callObjectLoad);
  17. parent::addAttribute('UF');
  18. parent::addAttribute('COD_CREDENC');
  19. parent::addAttribute('CREDENC_ALVO');
  20. parent::addAttribute('NOME_ENT_ABR');
  21. parent::addAttribute('NOME_REDE');
  22. parent::addAttribute('NUM_CGC');
  23. parent::addAttribute('DT_SERVICO');
  24. parent::addAttribute('DESC_SERVICO');
  25. parent::addAttribute('DESC_SERV_GRC');
  26. parent::addAttribute('VALOR');
  27. parent::addAttribute('OBS');
  28. parent::addAttribute('DT_REF_PAGAMENTO');
  29. parent::addAttribute('TEXTO');
  30. parent::addAttribute('NOME_CLIENTE');
  31. parent::addAttribute('COD_TIPO_COMISSAO');
  32. parent::addAttribute('DESC_TIPO_COMISSAO');
  33. parent::addAttribute('DT_LANCAMENTO_REL');
  34. parent::addAttribute('LINHA');
  35. parent::addAttribute('VALOR_ORIGINAL');
  36. parent::addAttribute('DT_CICLO');
  37. parent::addAttribute('VALOR_ASSINATURA');
  38. parent::addAttribute('VALOR_DESC_ASSIN');
  39. parent::addAttribute('GERENTE');
  40. parent::addAttribute('SUPERVISOR');
  41. parent::addAttribute('CONSULTOR');
  42. }
  43. }
MG

Mais uma pergunta: Esta tabela existe no BD do tutor?
JM

Esta criada sim, se eu tentar uma query manual ele funciona.

 
  1. <?php
  2. class dashBoardForm extends TPage
  3. {
  4. private $datagrid;
  5. public function __construct(){
  6. parent::__construct();
  7. try
  8. {
  9. TTransaction::open('tutor'); // abre uma transação
  10. $conn = TTransaction::get(); // obtém a conexão
  11. $sth = $conn->prepare('SELECT NOME_ENT_ABR FROM tbl_dashboard_mensal
  12. WHERE ID_AVALIACAO >= 1 AND ID_AVALIACAO <= 30;');
  13. $sth->execute(array(3,12));
  14. $result = $sth->fetchAll();
  15. // exibe os resultados
  16. foreach ($result as $row)
  17. {
  18. print $row['NOME_ENT_ABR'] . "<br>\n";
  19. }
  20. TTransaction::close(); // fecha a transação.
  21. }
  22. catch (Exception $e)
  23. {
  24. new TMessage('error', $e->getMessage());
  25. }
  26. }
  27. function show()
  28. {
  29. $this->onReload( func_get_arg( 0 ) );
  30. parent::show();
  31. }
  32. }
MG

Mais outra, pois até aqui tudo deveria funcionar!
Você salvou a classe como "TblDashboardMensal.class.php"?
Se sim, não sei mais o que pode ser!
JM

Boa tarde Marcelo,

Era isto mesmo.... Falta de atenção no nome da classe.

Muito obrigado pela ajuda...