javascript - Sequelize - 是否存在双向关联?

标签 javascript orm associations sequelize.js

在 Sequelize ORM 的文档中 http://docs.sequelizejs.com/正如我们从 Java 的 Hibernate 或 PHP 的 Doctrine 中所知,我没有看到任何对模型之间双向关联的引用。

那么,Sequelize 不支持开箱即用的双向关联?

最佳答案

这取决于您所说的开箱即用的含义。

Sequelize 中的双向关联是通过在每个相应模型上定义两个单一关联来实现的。据我所知没有其他办法。

例如。我们有一个用户模型和一个帖子模型。 Post 模型持有来自 User 的名为 UserId 的外键,这是一对多关联。为了双向实现这一点,您应该在用户模型和帖子模型上添加关联,如下所示。

User.associate = function(models) {
    models.User.hasMany(models.Post, {
        foreignKey:"UserId"
    })
}

Post.associate = function(models)  {
    models.Post.belongsTo(models.User, {
        foreignKey:"UserId"
    })
}

类似的方法适用于任何类型的关联类型。我知道这似乎不是最方便的事情。

关于javascript - Sequelize - 是否存在双向关联?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52969385/

相关文章:

symfony - 预期参数类型为 "string",给出 "App\Entity"

ruby - Rails 关联 : Access Foreign Value Through Non-Standard Name

ruby-on-rails - 将订单与 Rails 中的产品和客户关联

javascript - 如何删除redis键?

javascript - 如何动态获取html5中的图表和报告?

javascript - 我的 HTML Div 元素在页面加载时立即消失

php - Symfony2 覆盖 User.orm.xml

javascript - 如何从子表中查找带有外键的父表属性

associations - Sequelize 关联

javascript - 使用javascript进行分页打印