Laravel 5.7-用户/关注者数据透视表以创建关注者(用户)与Bug的关系

时间:2019-01-24 18:32:34

标签: laravel laravel-5 eloquent pivot-table laravel-5.7

此应用程序具有错误模型和用户模型。用户可以“关注”错误。这似乎是一个数据透视表。用迁移和模型关系实现此目的的最简单方法是什么?我在考虑跟随者表:

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

这似乎并不正确。雄辩的数据透视表的新功能,非常感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您正在寻找一个多对多关系,该关系需要一个中间表bug_follower,就像创建一个中间表一样,并且还需要创建一个从BugFollower的关系您做到了,还创建了从FollowerBugs的关系。您在正确的轨道上。

总体来说,您将有2个模型:BugFollower

您还将有3个表:bugsfollowersbug_follower

还有BugFollower之间的2种关系


编辑:这就是您的关系的样子:

public function followers()
{
    return $this->belongsToMany(User::class, 'followers', 'bug_id', 'user_id');
}

您可以在docs中查看有关主题的更多信息。