sequelize和sequelize-hierarchy:如何在模型getter中执行一个访问器?
我在我的应用程序中使用了sequelize
和sequelize-hierarchy
,并且已经部分定义了如下模型:
ancestors : { type: orm.Sequelize.VIRTUAL, get: function() { return 'TODO how return getAncestors here?' } }
在getter里面,我怎样才能访问由sequelize-hierarchy
提供的getAncestors()
方法?
@leroydev感谢logging;)
正如开发者在这个问题上对我说的那样:
恐怕这是不可能的。 您需要先使用include来加载祖先。 getter不能asynchronous执行,因此不能从数据库中获取祖先。 当使用include时,它会在主查询的同时读取它们。
这是Sequelize的一个限制(实际上我认为是相当合理的)。 恐怕我无能为力,所以closures这个公关。
参考: https : //github.com/overlookmotel/sequelize-hierarchy/issues/20