此应用程序具有错误模型和用户模型。用户可以“关注”错误。这似乎是一个数据透视表。用迁移和模型关系实现此目的的最简单方法是什么?我在考虑跟随者表:
Schema::create('followers', function (Blueprint $table) {
$table->increments('id');
$table->uuid('bug_id');
$table->uuid('user_id');
$table->index(['bug_id', 'user_id']);
$table->timestamps();
$table->softDeletes();
});
我最困扰的是Bugs模型中的关注者关系。这是我目前在的位置:
public function followers()
{
return $this->belongsToMany(User::class, 'followers', 'bug_id', 'user_id');;
}
这似乎并不正确。雄辩的数据透视表的新功能,非常感谢您的帮助!
答案 0 :(得分:1)
您正在寻找一个多对多关系,该关系需要一个中间表bug_follower
,就像创建一个中间表一样,并且还需要创建一个从Bug
到Follower
的关系您做到了,还创建了从Follower
到Bugs
的关系。您在正确的轨道上。
总体来说,您将有2个模型:Bug
,Follower
。
您还将有3个表:bugs
,followers
,bug_follower
还有Bug
和Follower
之间的2种关系
编辑:这就是您的关系的样子:
public function followers()
{
return $this->belongsToMany(User::class, 'followers', 'bug_id', 'user_id');
}
您可以在docs中查看有关主题的更多信息。