Sequelize hasMany 添加 id 数组

Sequelize hasMany add array of id's

这是我的模型定义:

var Customer = sequelize.define('Customer', {
    name: Sequelize.STRING
});

var Route = sequelize.define('Route', {
    name: Sequelize.STRING,
});

Customer.belongsTo(Route);
Route.hasMany(Customer);

我有 id 为 1 和 2 的客户。当我 运行 这个查询时,routeId 没有添加到客户集合中

Route
  .create({ name: 'route1', customers: [1,2] })

您需要在创建方法中包含关联才能添加它。

Route
  .create({ 
     name: 'route1', 
     customers: [{ name: "customer1" }, { name: "customer2" }] 
  }, { 
     include: [ Customer ] 
  });

这将在您的 table 中创建客户。

如果要添加与两个现有客户关联的路线,则需要采用不同的方法。

Route.create( { name: "route1" } )
     .then( route => route.addCustomers( [ 1, 2 ] ) )