Bonjour,
Je suis en train d'essayer de faire un reseau social avec Laravel 5.4 et j'aimerai relier plusiers models entre eux je m'explique :
J'ai 3 tables :
User : id , name ...
Followers : id, user_id , followers_id, date
Templates : id , name ...
Dans mon model User j'ai les relations suivantes :
// Peoples I follow
public function followings () {
return $this->belongsToMany(User::class, 'followers', 'follower_id', 'user_id');
}
public function templates () {
return $this->hasMany('App\Template');
}
Et dans mon controller j'aimerais recuperer les templates des gens que je follow :
J'aimerais donc faire quelque chose comme ça :
$templates = User::find(Auth::id())->followings->templates;
Merci de vore aide.
Bonjour,
rajoute la relation templates sur le modèle followers et tu pourras récupérer les templates (tu peux la virer de user si elle ne sert à rien)
Je pars du principe qu'il y a une clé user_id sur App\Templates et App\Followers
public function templates () {
return $this->hasMany(\App\Template::class, 'user_id', 'user_id');
}
$templates = User::find(Auth::id())->followings()->templates;