【发布时间】:2014-10-14 19:09:27
【问题描述】:
我与父母和他们的孩子有一个设置。一个孩子可以有多个父母,并且系统可以为每个孩子分配多条消息。每个父母也可以有多个孩子。
我已经有一个用户实例:$parent。现在我想收到属于这个父母孩子的所有帖子。 Laravel 的“has many through”不适用于多对多关系。
目前我使用自定义方法解决了这个问题,但我正在寻找更简洁的方法来解决这个问题。
这是我的设置:
用户(父母):
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');
}
}
【问题讨论】:
-
我也在寻找类似的东西,但看起来没有“成熟”的解决方案,因为有很多对很多
标签: php laravel-5 eloquent many-to-many has-many-through