Tenho uma aplicação Laravel com um banco de dados MySQL que tem 3 tabelas: Publication
, Comment
e User
.
Quando exibo uma publicação para o usuário, ligo WS GET Publication By Id
e WP GET Comment By Publication Id
para exibir todos os comentários relacionados a essa publicação.
Quero saber se há uma maneira de evitar chamadas WP GET User By Comment Id
para cada comentário, porque quando eu mostro um comentário, também preciso exibir algumas informações para o usuário que comentou.
Posso adicionar chaves estrangeiras de vários usuários na tabela Comment
e usá-las?
Desde já, obrigado.
Este é um caso de uso muito genérico. Você pode ver se isso responde à sua pergunta.
Publication model{
whatever fields you have,
//Comments --> One to many relation with Comment model
public function comments()
{
return $this->hasMany('App\Comment');
}
}
Comment Model{
whatever fields you have,
//User --> One to one relation with User model
public function user()
{
return $this->hasOne('App\User');
}
}
User Model{
fields...
}
No seu controlador, você pode obter as publicações com comentários e usuários usando with function.
$pub = Publication::first()->with('comments.user');
Eu espero que isso ajude.
Este artigo é coletado da Internet.
Se houver alguma infração, entre em [email protected] Delete.
deixe-me dizer algumas palavras