Self Referring Foreign Key In Sequlize Js
I have a model employee (id,first_name,last_name,manager_id) Here the manager_id is a self refering foreign key where it refers to the id column of the same table. How do I implem
Solution 1:
You can define association like :
employee.belongsTo(employee, {as: "Manager"});
employee.hasMany(employee, { as: "Employee", foreignKey: "manager_id", useJunctionTable: false });
And then use it like
employee.findAll({
include : {
model : employee ,
as : 'Manager'
}
})
OR
You can use sequelize-hierarchy
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' }
// ] }
// ] }
// ]
});
Post a Comment for "Self Referring Foreign Key In Sequlize Js"