Laravel-定义有许多贯穿关系



我在用Laravel 5.7 创建论坛时遇到问题

我想要这三个模型:User,Category,Thread和Post。问题是我不知道如何定义我的线程模型关系之一。

这个模型有一个创造者:

public function creator()
{
return $this->belongsTo('AppUser');
}

它有一系列的回复:

public function replies()
{
return $this->hasMany('AppPost');
}

最后,参与者:

public function participants()
{
return $this->hasManyThrough('AppUser', '???')
}

我应该让线程参与者通过它的回复,但它不知道我是否应该把帖子类放成这样:

public function participants()
{
return $this->hasManyThrough('AppUser', 'AppPost')
}

或者如果这是一个有一些考虑的特殊情况。有什么帮助吗?

由于posts充当数据透视表,因此BelongsToMany关系在这里是更好的选择:

public function participants()
{
return $this->belongsToMany('AppUser', 'posts');
}

最新更新