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($criteria, FALSE);
  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é

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 (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. ?>