Conheça  A Ferramenta LowCode mais moderna e veloz para desenvolvimento PHP: Adianti Creator
Acessar informação de uma composição Pessoal, não estou conseguindo acessar as informações de uma composição. Tenho tabela fabricante e a tabela subfabricante(Codigo, id_fabricante). Como são vários código para um único fabricante, preciso mostrar todos esses código. Model: fornecedor ...
HT
Acessar informação de uma composição  
Pessoal, não estou conseguindo acessar as informações de uma composição. Tenho tabela fabricante e a tabela subfabricante(Codigo, id_fabricante). Como são vários código para um único fabricante, preciso mostrar todos esses código.

Model: fornecedor
 
  1. <?php
  2. class Fabricantes extends TRecord
  3. {
  4. const TABLENAME = 'fabricantes';
  5. const PRIMARYKEY= 'id';
  6. const IDPOLICY = 'max'; // {max, serial}
  7. private $subFabricantes;
  8. /**
  9. * Method getsubFabricantes
  10. * Return the Customer' subFabricantes's
  11. * @return Collection of subFabricantes
  12. */
  13. public function getsubFabricantes()
  14. {
  15. return $this->subFabricantes;
  16. }
  17. /**
  18. * Load the object and its aggregates
  19. * @param $id object ID
  20. */
  21. public function load($id)
  22. {
  23. // load subFabricantes
  24. $this->subFabricantes = SubFabricantes::where('id_fabricante', '=', $id)->load();
  25. return parent::load($id);
  26. }
  27. }
  28. ?>


quando coloco o resultado em print_r tenho:

Fabricantes Object ( [subFabricantes:Fabricantes:private] => Array ( [0] => SubFabricantes Object ( [data:protected] => Array ( [id] => 1 [codigo] => 1141 [id_fabricante] => 1 ) [vdata:protected] => [attributes:protected] => Array ( ) ) [1] => SubFabricantes Object ( [data:protected] => Array ( [id] => 2 [codigo] => 1514 [id_fabricante] => 1 ) [vdata:protected] => [attributes:protected] => Array ( ) ) [2] => SubFabricantes Object ( [data:protected] => Array ( [id] => 3 [codigo] => 1531 [id_fabricante] => 1 ) [vdata:protected] => [attributes:protected] => Array ( ) ) [3] => SubFabricantes Object ( [data:protected] => Array ( [id] => 4 [codigo] => 1532 [id_fabricante] => 1 ) [vdata:protected] => [attributes:protected] => Array ( ) ) ) [data:protected] => Array ( [id] => 1 [fantasia] => Eurofarma [email] => ) [vdata:protected] => [attributes:protected] => Array ( ) ) 1 - Eurofarma - 1

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


NR

Herbet, não sei se entendi sua dúvida. Pelo print_r os dados estão retornando né? Como você está tentando utilizá-los?
HT

Isso, estão retornando. O problema é justamente esse, não estou conseguindo utiliza-lo. Já tentei de várias formas.

$fabricantes = new Fabricantes(1);
$fabricantes->fantasia;

eu consigo acessar o nome do fabricante assim, mais os códigos do subfabricante não consigo.
NR

Tente o seguinte:
 
  1. <?php
  2. $fabricante = new Fabricantes(1);
  3. foreach ($fabricante->getsubFabricantes() as $subfabr)
  4. {
  5. echo $subfabr->id . ' - ';
  6. }
  7. ?>
HT

Muito obrigado, funcionou perfeitamente.