sequelize CreateAssociation返回父实例而不是子创建的实例

时间:2015-10-15 07:30:59

标签: node.js sequelize.js

我的CreateAssociation方法存在问题。

这是我的代码:

用户创建曲线

//User create curves
function saveCurves(user, functions){
   var curves = JSON.parse(functions);

   for (var i = 0; i < curves.length; i++) {
       (function(i,user,curves){
          user.createCurve({
            i_min: curves[i].i_min,
            i_max: curves[i].i_max,
        }).then(function(curve){
            saveFunction(curve,curves[i].fn,curves[i].variables);
        });
    })(i,user,curves);

   }
}


 //save function after creating curves depends on it 
function saveFunction(curve,fct,variables){
return curve.createFunction({
    fn: fct
}).then(function(math_function){
    saveVariables(math_function,variables);
    return;
})
}


//save variables to associated function
function saveVariables(fn, variables){
for(var j= 0; j < variables.length; j++){

    (function(j,fn,variables){
        fn.createVariable({
            name: variables[j].name,
            function_id: fn.id
        })
        .then(function(row_variable){
            console.log(row_variable.toJSON())
            return row_variable.createFunction({
                fn: variables[j].fn
            })
    })(j,fn,variables);

}

当我调用“fn.createVariable”方法时,我遇到了问题。 我真的不明白为什么,但是.then之后的承诺只是给了我fn实例而不是变量实例。

我也有这个错误: 未处理拒绝TypeError:row_variable.createFunction不是函数

当我查看我的数据库时,我看到实例已正确插入 但是console.log中的row_variable给了我fn而没有插入行。

所以我无法理解我有这个回报。 我上面做得很好,为什么它在这里不起作用?

(不是关系定义问题,因为行存在于数据库中)

请问好吗?

0 个答案:

没有答案