使用Laravel 5.7创建论坛时遇到问题
我想拥有这三个模型:用户,类别,主题和帖子。问题是我没有如何定义我的线程模型关系之一。
此模型的创建者:
public function creator()
{
return $this->belongsTo('App\User');
}
...它有一系列答复:
public function replies()
{
return $this->hasMany('App\Post');
}
...最后是参与者:
public function participants()
{
return $this->hasManyThrough('App\User', '???')
}
我应该通过其回复来吸引线程参与者,但是它不知道我是否应该像这样放置帖子类:
public function participants()
{
return $this->hasManyThrough('App\User', 'App\Post')
}
...或者如果是特殊情况,需要考虑一些因素。有帮助吗?
答案 0 :(得分:1)
由于posts
充当数据透视表,因此BelongsToMany
关系是此处更好的选择:
public function participants()
{
return $this->belongsToMany('App\User', 'posts');
}