不幸的是,我的情况比这更复杂一些。我有一个用户模型,其中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)