在Sequelize中抓取associationType

时间:2017-10-31 15:45:21

标签: mysql node.js sequelize.js

我正在阅读Sequelize文档,我正在试图弄清楚如何获取模型的associationType。您似乎应该能够导入模型(例如帖子)并致电Posts.associationTypePosts.association.associationTypeDocs on Associations

我还发现了一个旧的堆栈溢出问题,它提到调用Posts instanceof sequelize.Association.BelongsTo这样的东西也应该有用。当我调用Posts.associations时,它只给我关联作为关键和值。 {'Comments': 'Comments}

但两种方法都不起作用。我似乎能够很好地访问模型的其他属性。

1 个答案:

答案 0 :(得分:1)

您只看到输出的toString()版本。如果你尝试的话会更清楚:

console.log(Object.keys(models.Posts.associations));

这将为您提供关联的数组,以便您可以使用它们来访问更多详细信息:

console.log(Object.keys(models.Posts.associations.Comments));

然后,您将看到它具有associationType属性,您可以使用该属性来获取您要查找的字符串值。 Comments是关联的名称/键,可以使用定义中的as属性覆盖。

// type = "BelongsTo"
var type = models.Posts.associations.Comments.associationType;