У меня есть установка с родителями и их детьми. У ребенка может быть несколько родителей, и каждому ребенку система может назначить несколько сообщений. У каждого родителя также может быть несколько детей.
У меня уже есть экземпляр пользователя: $parent. Теперь я хотел бы получать все сообщения, принадлежащие детям этого родителя. Laravel «имеет многие через» не работает с отношениями «многие ко многим».
На данный момент я решил это с помощью пользовательского метода, но я ищу более чистые способы решения этой проблемы.
Это моя установка:
Пользователь (родители):
class User extends Eloquent
{
public function children()
{
return $this->belongsToMany('Child', 'parents_children', 'user_id');
}
}
Ребенок:
class Child extends Eloquent
{
public function parents()
{
return $this->belongsToMany('User', 'parents_children', 'child_id');
}
public function posts()
{
return $this->hasMany('Posts', 'ChildPost');
}
}
Сообщения
class ChildPost extends Eloquent
{
public function child()
{
return $this->belongsToMany('Child');
}
}