Laravel 5.7 - сводная таблица пользователей / подписчиков для создания отношения последователя (пользователя) с ошибкой - PullRequest
0 голосов
/ 24 января 2019

Это приложение имеет модель ошибки и модель пользователя.Пользователи могут «следить» за ошибками.Это похоже на сводную таблицу.Какой самый простой способ реализовать это с помощью миграции и модели отношений?Я думаю в соответствии с таблицей подписчиков:

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

Где я в основном озадачен отношениями подписчиков в модели ошибок.Вот где я сейчас нахожусь:

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

Это действительно кажется неправильным.Впервые в красноречивых сводных таблицах, поэтому очень ценю помощь!

1 Ответ

0 голосов
/ 24 января 2019

Вы ищете отношение «многие ко многим», для которого требуется промежуточная таблица bug_follower, как вы ее создали, и вам также необходимо создать отношение от Bug до Follower, как вы это сделали, но также создать отношения от Follower до Bugs. Вы на правильном пути.

Всего у вас будет 2 модели: Bug, Follower.

У вас также будет 3 стола: bugs, followers, bug_follower

И 2 отношения от Bug и Follower друг к другу


РЕДАКТИРОВАТЬ : Вот как должны выглядеть ваши отношения:

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

Подробнее о предмете вы можете узнать в документах .

...