Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Active Record e Lazy Loading Boa noite, Estou tentando montar um propriedade no TRecord que retorna uma lista de pedidos. Segue código do TRecord ...
AS
Active Record e Lazy Loading  
Boa noite,

Estou tentando montar um propriedade no TRecord que retorna uma lista de pedidos. Segue código do TRecord

  1. <?php
  2. class ClientesRecord extends TRecord {
  3.     const TABLENAME 'CLIENTES';
  4.     const PRIMARYKEY 'ID_CLIENTE';
  5.     const IDPOLICY =  'max'//'serial'; //Alair
  6.     private $repository_Pedidos;
  7.     private $pedidos_list;
  8.  function get_pedidos($param NULL) {
  9.         TTransaction::open('cicabraga');        
  10.         $this->repository_Pedidos = new TRepository('PedidosRecord');
  11.         $limit 10;
  12.         $criteria = new TCriteria;
  13.         $criteria->add(new TFilter('ID_CLIENTE',  ' = '$this->ID_CLIENTE));
  14.         $criteria->setProperties($param);
  15.         $criteria->setProperty('limit'$limit);
  16.         $this->pedidos_list $this->repository_Pedidos->load($criteriaFALSE);
  17.         return $this->pedidos_list;
  18.     }
  19. ?>


Após criar a classe TRecord, estou tentando acessar os pedidos da seguinte forma:

  1. <?php
  2.         $this->datagrid->addItems($object->pedidos($param));
  3. ?>


Nessa linha acima, ocorre o seguinte erro:

Fatal error: Call to undefined method ClientesRecord::pedidos() in C:UwAmpwwwtemplateappcontrolprincipalclientesClientesPedidosList.class.php on line 113

O que estou fazendo de errado?

Obrigado

André

Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 Quero me inscrever agora!

Comentários (1)


MG

Pergunta básica: Você instanciou a classe 'ClientesRecord'?

  1. <?php
  2.     $object = new ClientesRecord;
  3.     $this->datagrid->addItems($object->pedidos($param));
  4. ?>


Poderia declarar o método estático:

  1. <?php
  2. public static function get_pedidos($param
  3. {
  4.    ......
  5. }
  6. // Usando, sem necessidade de instanciar a classe
  7. $this->datagrid->addItems(ClientesRecord::get_pedidos($param));
  8. ?>