我与父母和他们的孩子有一个设置。一个孩子可以有多个父母,并且系统可以为每个孩子分配多条消息。每个父母也可以有多个孩子。
我已经有一个用户实例:$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');
}
}