小编Bru*_*uno的帖子

通过手动定义的连接表进行关联查找

我知道这里描述了一个更简单的情况:

不幸的是,我的情况比这更复杂一些。我有一个用户模型,其中belongsToMany部门(又是belongsToMany用户),但通过userDepartment手动定义的联接表来实现。我的目标是获取属于给定部门的所有用户。首先我们看一下models/user.js

var user = sequelize.define("user", {
    id: {
        type: DataTypes.INTEGER,
        field: 'emplId',
        primaryKey: true,
        autoIncrement: false
    },
    firstname: {
        type: DataTypes.STRING,
        field: 'firstname_preferred',
        defaultValue: '',
        allowNull: false
    }
    ...
    ...
    ...

    associate: function(models) {
            user.belongsToMany(models.department, {
                foreignKey: "emplId",
                through: 'userDepartment'
                });
            })
    }
    ...
    return user;
Run Code Online (Sandbox Code Playgroud)

现在,看一下models/department.js

var department = sequelize.define("department", {
    id: {
        type: DataTypes.INTEGER,
        field: 'departmentId',
        primaryKey: true,
        autoIncrement: true
    },
    ...
    classMethods: { …
Run Code Online (Sandbox Code Playgroud)

node.js sequelize.js

5
推荐指数
1
解决办法
9479
查看次数

标签 统计

node.js ×1

sequelize.js ×1