sequelize js中的自引用外键

巴吞卡尔汗

我有一个模范员工 (id,first_name,last_name,manager_id)

manager_id是一个自引用外键,它引用id同一个表列。我如何在 sequelize.js 中实现这样的用例。

我试过这个,但这是行不通的

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'
    }
})

或者

您可以使用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' }
    //      ] }
    //  ] }
    // ]
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Sequelize js:使用外键创建/更新

来自分类Dev

Sequelize模型的外键定义

来自分类常见问题

GraphQL的Sequelize中的OneToMany关联。自定义外键

来自分类Dev

GraphQL的Sequelize中的OneToMany关联。自定义外键

来自分类Dev

在 Sequelize 中创建主键和外键关系

来自分类Dev

带有外键的 Sequelize ORM 中的 MySQL 查询

来自分类Dev

在不假设外键列名称的情况下在sequelize中创建行时如何引用关联?

来自分类Dev

Sequelize不会创建外键作为约束

来自分类Dev

不会创建带有Sequelize的外键

来自分类Dev

如何为Sequelize模型设置外键?

来自分类Dev

不会创建带有Sequelize的外键

来自分类Dev

使用sequelize复制外键列

来自分类Dev

使用外键 sequelize 查询的问题

来自分类Dev

JS,expressJS,sequelize,postgres等

来自分类Dev

Sequelize中的原子操作

来自分类Dev

Sequelize中的原子操作

来自分类Dev

FeathersJS 或 Sequelize 中的钩子

来自分类Dev

自引用外键

来自分类Dev

如何使用Sequelize和MySql选择外键列的名称?

来自分类Dev

Sequelize-多对多关联-3个外键

来自分类Dev

Sequelize和Postgres-无法实现外键约束

来自分类Dev

是否可以使用Sequelize强制外键存在?

来自分类Dev

无法使用 sequelize 用外键连接 2 个表

来自分类Dev

sequelize - 添加外键后,内连接出现错误

来自分类Dev

Sequelize - 创建的外键包括返回空值

来自分类Dev

sequelize中两个外键之间的OR运算符

来自分类Dev

如何在Sequelize中渴望从同一张表加载多个外键行?

来自分类Dev

如何在 Sequelize 的“BelongsTo”关联中设置外键的默认值或选项?

来自分类Dev

Sequelize JS-保护属性