【发布时间】:2018-10-24 12:45:33
【问题描述】:
在 Sequelize ORM http://docs.sequelizejs.com/ 的文档中,我没有看到对模型之间双向关联的任何引用,正如我们从 Java 的 Hibernate 或 PHP 的 Doctrine 中所知道的那样。
那么,Sequelize 不支持开箱即用的双向关联?
【问题讨论】:
-
你的意思是 M:N 关联吗? [这里]是解释。或者您的意思是当您在 Origin 模型上设置
hasMany时,还可以从 Destination 模型访问? (docs.sequelizejs.com/manual/tutorial/…) -
双向关联可以建立一对一,也可以建立一对多。在一对一的情况下,如果用户有任务,我们可以像
task.getUser()一样做user.getTask()以及。它不存在。 -
好的,sequelize 默认不这样做,你必须在模型上注明
User.hasMany(Task)然后Task.belongsTo(User)。我建议在hasMany上使用别名:as,然后在创建数据库后使用别名belongsTo对另一个模型也使用别名。我知道这听起来很荒谬,但这是迄今为止我一直在使用 sequelize 的最佳方法。
标签: javascript orm associations sequelize.js