1
resposta

Dúvida quanto aos Model's

Olá, tenho algumas dúvidas (Laravel 5.3)...

1° - na aula de relacionamentos, depois de estabelecer a relação entre Produto e Categoria, adiciono na listagem de produtos um

para mostrar o nome da categoria...

<td>{{$p->categoria['nome']}}</td>

porém, como podem ver, a forma que eu coloquei ali é a única que funciona. Se eu usar como na aula, $p->categoria->nome, dá erro falando que eu to usando o ->nome em um NÃO OBJETO! Sim, coloquei o return nas functions que fazem a ligação entre Produto e Categoria.

2° -estou achando estranho o fato de nos models não existirem os geters/seters das propriedades e tal... Da forma como estou acostumado, por exemplo o model de Produto, teria os geters/seters para as suas propriedades e para criar um novo objeto Produto teria de ser instanciada a classe... Como funciona isso no Laravel?

essa duvida surgiu por conta do problema com o objeto da dúvida 1. Acho que se existisse o getter getNome() por exemplo, eu poderia usar isso na listagem e conseguir o que eu quero...

1 resposta

Olá, José!

Compartilha o código da model Produto e da model Categoria pra gente dar uma olhada.

Quanto aos getters e setters, você pode criá-los, caso queira.

A convenção é: get{Atributo}Attribute().

Ou seja, caso queira um getter para o atributo nome, é só criar um método getNomeAttribute() que este será chamado ao tentar acessar $x->nome.