我在用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');
}