Acessar dados do repositório. Galera, tenho o seguinte código: ...
WS
Acessar dados do repositório.  
Fechado
Galera, tenho o seguinte código:
 
  1. <?php
  2. $key = $param['key']; // get the parameter $key
  3. TTransaction::open('educacional'); // open a transaction
  4. $repository = new TRepository('CdnDisciplina');
  5. $criteria = new TCriteria;
  6. $criteria->add(new TFilter('empresa_id', '=', TSession::getValue('empresa_id') ));
  7. $criteria->add(new TFilter('id', '=', $key ));
  8. $objects = $repository->load($criteria, FALSE);
  9. var_dump(objects->id);
  10. TTransaction::close(); // close the transaction
  11. ?>

ele me retorna isso aqui do repositorio: array(1) { [0]=> object(CdnDisciplina)#82 (3) { ["data":protected]=> array(5) { ["id"]=> int(2) ["empresa_id"]=> int(1) ["nome"]=> string(15) "Administração" ["status"]=> string(1) "A" ["data_cadastro"]=> string(26) "2016-06-27 11:17:21.784289" } ["vdata":protected]=> NULL ["attributes":protected]=> array(4) { [0]=> string(10) "empresa_id" [1]=> string(4) "nome" [2]=> string(6) "status" [3]=> string(13) "data_cadastro" } } }

Pergunta, como faço para acessar o valor de ID?.... Preciso converter ele em string primeiro?...como faço?..

desde de já agradeço...

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


WS

Eu tenho esse código aqui só queria saber se esta retornando algo e validar isso:
 
  1. <?php
  2. $key = $param['key']; // get the parameter $key
  3. TTransaction::open('educacional'); // open a transaction
  4. $repository = new TRepository('CdnDisciplina');
  5. $criteria = new TCriteria;
  6. $criteria->add(new TFilter('empresa_id', '=', TSession::getValue('empresa_id') ));
  7. $criteria->add(new TFilter('id', '=', $key ));
  8. $objects = $repository->load($criteria, FALSE);
  9. if($objects){
  10. var_dump($objects);
  11. $this->form->setData($objects); // fill the form
  12. }else{
  13. $action = new TAction(array($this,'onForm'));
  14. new TMessage('error', TAdiantiCoreTranslator::translate('Permission denied'), $action);
  15. }
  16. TTransaction::close(); // close the transaction
  17. ?>


a questão aqui é, ele não carregas as informações no formulário.
WS

Quando usa um new TRepository('CdnDisciplina'); ele sempre irá retornar um array de objetos?....

NR

Sim, o TRepository sempre retorna um array.

Se o id for a chave primária você não precisa do repositório, pode instanciar diretamente:
 
  1. <?php
  2. $disc = new CdnDisciplina($key);
  3. ?>
WS

Mais eu preciso colocar um TCriteria nele, como poderia ficar?..
NR

Willian, nesse caso você pode manter o TRepository e utilizar a primeira posição do array $objects:
 
  1. <?php
  2. if($objects)
  3. {
  4. $this->form->setData($objects[0]); // fill the form
  5. }
  6. ?>