Relacionamentos
[Finalizado Pelo Aluno]
Boa tarde Professor,
Estou com uma dúvida quanto aos relacionamentos. Temos uma tabela products (id, category_id, ...) e uma tabela categories (id, title, ...) que foram relacionadas com hasMany() e hasOne().
A relação no PRODUCT MODEL não devia ser necessariamente $this->belongsTo(Category::class), devido a existência de chave estrangeira na tabela products, ou não é uma regra? Caso não seja regra, perco alguma relação o usar o eloquent?
Minha segunda dúvida é quando aos relacionamentos das tabelas Orders e Products onde ambos foram relacionados como belongsToMany() através da tabela Sales. Não deveria ser Order{hasMany(Product)} e Product{belongsToMany(Order)}?
Consultando a documentação eu compreendi o conceito quando se usa belongsToMany, mas a primeira questão ainda é uma dúvida.
Olá, Pedro!
Tudo bem?
Sim como o relacionamento entre Category 1:N Product no model Product deve ficar:
public function category()
{
return $this->belongsTo(Category::class);
}
E no model Category deve ficar:
public function products()
{
return $this->hasMany(Product::class);
}
No seu caso está gerando algum erro? Se sim me passa mais detalhes do erro e do código.
No aguardo.
Bom dia, não gera nenhum erro.
A única coisa que notei foi a necessidade de passar chave e chave estrangeira (ao usar hasOne() no lugar de belongsTo()), caso tenha mais de um model que se relacione com Category da mesma forma pois da erro no View Composer quando faz a consulta.
hasOne(Category::class, 'id', 'category_id');
Por isso a dúvida...
Mas já está esclarecido, obrigado Professor!
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!