无法在续集中插入关联数据

时间:2019-03-26 07:22:04

标签: node.js express sequelize.js

我创建了两个模型,分别是用户和客户。客户应至少有一个用户。因此,我与他们两个都建立了关系。请查看下面的模型。

'use strict';
module.exports = (sequelize, DataTypes) => {
  const customers = sequelize.define('customers', {
    name: DataTypes.STRING,
    email: DataTypes.STRING
  }, {});
  customers.associate = function(models) {
    customers.belongsTo(models.user);
  };
  return customers;
};

'use strict';
module.exports = (sequelize, DataTypes) => {
  const user = sequelize.define('user', {
    name: DataTypes.STRING,
    email: DataTypes.STRING,
    phone: DataTypes.STRING,
  }, {
    underscored:true
  });
  user.associate = function(models) {
    user.hasOne(models.customers, { foreignKey: "user_id", sourceKey: "id", as: 'customers'});
  };
  return user;
};

我正在尝试插入如下数据。

var data = {
            "name": "deve1",
            "email": "rnd@gmail.com",
            "phone": "123456789",
            "customers" : {
              "name": "customer",
              "email": "rnd@gmail.com"
            }
          }
          models.user.create(data, {
            include : [ models.customers ]
          }).then((data) => {
            res.json(data);
          })

它不起作用。但是,如果我在数据中使用而不是“客户”,则工作正常。我找不到问题所在。

请任何人帮助解决此问题

0 个答案:

没有答案