Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Relacionamento entre objetos? Olá pessoal, quero exibir um resultado sem ter que utlizar instruções SQL, a situação é a seguinte: Cargo ...
IV
Relacionamento entre objetos?  
Fechado
Olá pessoal, quero exibir um resultado sem ter que utlizar instruções SQL, a situação é a seguinte:

Cargo
  1. <?php
  2. class Cargo extends TRecord 
  3. const TABLENAME 'cargo'
  4. const PRIMARYKEY'id'
  5. const IDPOLICY 'max'
  6. public function __construct(2407 NULL$callObjectLoad TRUE) { 
  7. parent::__construct(2407$callObjectLoad); 
  8. parent::addAttribute('descricao'); 
  9. ?>


Funcionario
  1. <?php
  2. class Funcionario extends TRecord 
  3. const TABLENAME 'funcionario'
  4. const PRIMARYKEY'id'
  5. const IDPOLICY 'max'
  6. private $cargo
  7. public function __construct(2407 NULL) { 
  8. parent::__construct(2407); 
  9. parent::addAttribute('nome'); 
  10. parent::addAttribute('cargo_id'); 
  11. public function set_cargo(Cargo $object) { 
  12. $this->cargo $object
  13. $this->cargo_id $object->id
  14. public function get_cargo() { 
  15. if (empty($this->cargo)) 
  16. $this->cargo = new Cargo($this->cargo_id); 
  17. return $this->cargo
  18. public function get_cargo_descricao() { 
  19. if (empty($this->cargo)) 
  20. $this->cargo = new Cargo($this->cargo_id); 
  21. return $this->cargo->descricao;
  22. ?>


Pagamento
  1. <?php
  2. class Pagamento extends TRecord 
  3. const TABLENAME 'pagamento'
  4. const PRIMARYKEY'id'
  5. const IDPOLICY 'max'
  6. private $funcionario
  7. public function __construct(2407 NULL$callObjectLoad TRUE) { 
  8. parent::__construct(2407$callObjectLoad); 
  9. parent::addAttribute('id'); 
  10. parent::addAttribute('funcionario_id'); 
  11. parent::addAttribute('valor'); 
  12. public function set_funcionario(Funcionario $object) { 
  13. $this->funcionario $object
  14. $this->funcionario_id $object->id
  15. public function get_funcionario() { 
  16. if (empty($this->funcionario)) 
  17. $this->funcionario = new Funcionario($this->funcionario_id); 
  18. return $this->funcionario
  19. public function get_funcionario_nome() { 
  20. if (empty($this->funcionario)) 
  21. $this->funcionario = new Funcionario($this->funcionario_id); 
  22. return $this->funcionario->nome
  23. public function get_funcionario_cargo() { 
  24. if (empty($this->funcionario)) 
  25. $this->funcionario = new Funcionario($this->funcionario_id); 
  26. return $this->funcionario->get_cargo_descricao
  27. ?>


Estou tentando exibir os dados no formulário de pagamento: "ID", "Nome", "Descricao do Cargo" e "Valor".
Mas o campo de descrição do cargo retorna vazio.
Como disse queria uma forma de fazer sem precisar a recorrer a uma instrução sql, se alguém tiver um dica eu agradeço.

Curso completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto Quero me inscrever agora!

Comentários (2)


NR

  1. <?php
  2. public function get_funcionario_cargo() { 
  3.    if (empty($this->funcionario)) 
  4.        $this->funcionario = new Funcionario($this->funcionario_id); 
  5.    
  6.     return $this->funcionario->cargo_descricao
  7. ?>


No return você estava chamando get_cargo_descricao, deixe só cargo_descricao e teste novamente
IV

Nataniel Rabaioli, obrigado pela atenção!