sql >> Database teknologi >  >> RDS >> Mysql

Selvhenvisende fremmednøgle i sequlize js

Du kan definere tilknytning som:

employee.belongsTo(employee, {as: "Manager"});
employee.hasMany(employee, { as: "Employee", foreignKey: "manager_id", useJunctionTable: false });

Og brug det så som

employee.findAll({
    include : {
        model : employee ,
        as : 'Manager'
    }
})

ELLER

Du kan bruge 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' }
    //      ] }
    //  ] }
    // ]
});



  1. PostgreSQL Connection Pooling:Del 1 – Fordele og ulemper

  2. Hvad er den bedste metode til at overføre parametre til SQLCommand?

  3. Bedste måde at oprette forbindelse til MySQL med PHP sikkert

  4. kan ikke oprette forbindelse til serveren for Postgres