【问题标题】:sequelize: relations in both directions needed?sequelize:需要双向关系吗?
【发布时间】:2019-03-04 01:03:11
【问题描述】:

我的数据库中有两个现有的表:“user”与“id”和“depId”列以及“department”与“id”和“name”。 (user.depId 是 department.id 的外键)

现在我想为此创建一个续集模型。

我已经添加了这个

User.belongsTo (Department, { foreignKey: 'depId', targetKey: 'id'});

我是否也必须添加这个:

Department.HasMany(User)

或者是一个方向足以正常工作?

【问题讨论】:

    标签: javascript node.js express sequelize.js


    【解决方案1】:

    续集:需要双向关系吗?

    视情况而定


    所以我们开始吧:

    User.belongsTo (Department, { foreignKey: 'depId', targetKey: 'id'});
    

    这将帮助您通过 sequelize 获得 Department via User ,


    Department.HasMany(User)
    

    但是,如果您想获得 User via Department 通过 续集联想

    因此,如果您只需要一个,请定义其中任何一个,但最佳做法是同时定义两种方式。

    【讨论】:

    • 所以这应该适用于我的示例: User.belongsTo (Department, { foreignKey: 'depId', targetKey: 'id'}); Department.hasMany(User, { foreignKey: 'depId', targetKey: 'id'}) ?
    • @Franken,试试User.belongsTo(Department,{foreignKey : 'depId' }); Department.hasMany(User,{foreignKey:'depId'});
    猜你喜欢
    • 2011-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-01
    • 2016-12-05
    • 2014-07-23
    • 2012-08-26
    • 1970-01-01
    相关资源
    最近更新 更多