Как определить принадлежность к ассоциации с разными псевдонимами - PullRequest
0 голосов
/ 20 июня 2019

Я пытаюсь найти способ обработать связь между двумя моделями (Пользователь и Группа).Проблема здесь в том, что в группе может быть несколько пользователей (они могут быть членами группы / они могут быть участниками какого-либо события / программы, принадлежащей к одной группе)

Отношения между группой и пользователями: Пользователь принадлежитна несколько групп.группы могут иметь несколько пользователей.

Решение, которое я попробовал

User.belongsToMany(Group, {through: UserGroup, as : 'Members'});
User.belongsToMany(Group, {through: UserGroup, as : 'Attendees'});
Group.belongsToMany(User, {through: UserGroup, as : 'Users'});

Модель пользователя

const Sequelize = require('sequelize');

module.exports  = (sequelize) => {
    return sequelize.define('ssuser', {
    id: {
        type: Sequelize.INTEGER,
        autoincrement: true,
        allowNull : false,
        primaryKey: true
    },
    email: {
        type: Sequelize.STRING,
        allowNull : false
    },
    firstName: Sequelize.STRING,
    lastName: Sequelize.STRING
});
}

Модель группы:

module.exports  = (sequelize) => {
    return sequelize.define('ssgroup', {
    id: {
        type: Sequelize.INTEGER,
        autoincrement: true,
        allowNull : false,
        primaryKey: true
    },
    ownerId: {
        type: Sequelize.INTEGER,
        allowNull : false,
    },
    name: {
        type: Sequelize.STRING,
        allowNull : false
    },
    description: {
        type: Sequelize.TEXT,
        allowNull : false
    },
    groupType: {
        type: Sequelize.TEXT,
        allowNull : false
    }
});
}

АссоциацияUSERGROUP

const Sequelize = require('sequelize');

module.exports  = (sequelize) => {
    return sequelize.define('userGroup', {
    id: {
        type: Sequelize.INTEGER,
        autoincrement: true,
        allowNull : false,
        primaryKey: true
    }
});
}

Не уверен, как это поможет мне найти членов группы в одиночку или участников группы в одиночку.

Я ожидаю, что в таблице сопоставлений должны быть столбцы "Посетитель" "Член".Чтобы было проще получать данные пользователей, которые являются членами определенной группы.

Любая помощь по этому вопросу будет принята.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...