Javascript Sequalize js中的自引用外键
我有一个模型 员工Javascript Sequalize js中的自引用外键,javascript,mysql,sequelize.js,Javascript,Mysql,Sequelize.js,我有一个模型 员工(身份证、名、姓、经理id) 这里的manager\u id是一个自引用外键,它引用同一个表的id列。 如何在sequelize中实现这样的用例 我试过这个,但这个不起作用 employee.belongsTo(models.employee, { foreignKey: 'manager_id' }), 您可以定义关联,如: employee.belongsTo(employee, {as: "Manager"}); employee.hasMa
(身份证、名、姓、经理id)
这里的manager\u id
是一个自引用外键,它引用同一个表的id
列。
如何在sequelize中实现这样的用例
我试过这个,但这个不起作用
employee.belongsTo(models.employee, {
foreignKey: 'manager_id'
}),
您可以定义关联,如:
employee.belongsTo(employee, {as: "Manager"});
employee.hasMany(employee, { as: "Employee", foreignKey: "manager_id", useJunctionTable: false });
然后像这样使用它
employee.findAll({
include : {
model : employee ,
as : 'Manager'
}
})
或
您可以使用
var employee = sequelize.define('employee', {
name: Sequelize.STRING,
manager_id: {
type: Sequelize.INTEGER,
hierarchy: true
}
});
employee.findAll({ hierarchy: true }).then(function(results) {
// results = [
// { id: 1, manager_id: null, name: 'a', children: [
// { id: 2, manager_id: 1, name: 'ab', children: [
// { id: 3, manager_id: 2, name: 'abc' }
// ] }
// ] }
// ]
});
谢谢。Sequalize guru.=)