Skip to content Skip to sidebar Skip to footer

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

varemployee=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"