使用 MySQL 和 sequelize@1.6.0-beta4 现在我想使用这个应该获取关联模型的新功能。所以我有这个:
self.Project.hasMany(self.Task, {as:'Tasks', foreignKey: 'projectID'});
然后使用以下内容:
db.models.Project.findAll({where:{id:1}, include : ['Tasks']}).success(function(project){
console.log("With assoc: " + JSON.stringify(project) );
});
不幸的是,我收到以下错误:
node_modules/sequelize/lib/dialects/mysql/query-generator.js:143
if (association.connectorDAO) {
^
TypeError: Cannot read property 'connectorDAO' of null
如果我禁止包含语句,它运行良好,但显然不会返回关联的任务。
进入调试我发现了一些有趣的东西。该include
语句在子对象(任务)上查找关联。如果我添加(不必要的)以下内容:
self.Task.belongsTo(self.Project);
然后我不再触发错误,但没有获取子对象。怕是有bug...
此外,我正在使用JSON.stringify
因为.values
不工作(undefined
)。为什么?