我有一段看起来像
的代码 Feed.hook('afterCreate', function(doc, fields, fn) {
onSave(socket, doc);
fn(null);
});
Feed
与Printer
有多对一的关系,这意味着Feed
属于Printer
。
我想要的是类似于:
Feed.findAll({include: [Owner, Language]})
.then(responseWithResult(res))
.catch(handleError(res));
但是对于这个具体案例。
如何添加与此Printer
对应的Feed
对象?
答案 0 :(得分:0)
也许使用常用的钩子方法,然后使用sequelize
models
来访问您需要的任何模型,也可能需要Promise
。
不确定为什么你需要在afterCreate
钩子上找到包括其他对象在内的东西,但这应该是这样的:
var Promise = require('bluebird');
module.exports = function(sequelize, DataTypes) {
return sequelize.define('Feed', {
description: DataTypes.TEXT
}, {
hooks: {
afterCreate: [
function (obj) {
return new Promise(function (resolve, reject) {
sequelize.models.Feed.findAll({include: [sequelize.models.Owner, sequelize.models.Language]})
.then(resolve)
.catch(reject);
};
}
]
}
});
};
通过这种方式,您不需要在模型定义中对模型进行其他要求。但是使用您当前的方法,您需要一个sequelize
实例来访问它们。