2

我有一个使用 feathers-sequelize 设置的羽毛 api 以持久保存到 MySQL 数据库。

我已经设置了数据模型,可以看到相关表已创建。

const Sequelize = require('sequelize');

module.exports = function (app) {
  const sequelizeClient = app.get('sequelizeClient');

  const orders = sequelizeClient.define('orders', {
    id: {
      type: Sequelize.UUID,
      primaryKey: true,
      defaultValue: Sequelize.UUIDV4

  }, {
    classMethods: {
      associate (models) {
          this.belongsToMany(models.users, {through: "offers", foreignKey: "orderId", otherKey: "userId"});
      }
    }
  });

  return orders;
};

我如何实际创建一个关联offers?我试过这样的事情:

const orders = hook.app.service("orders");

order.offers.push(user.id);
orders.patch(order.id, order);

但它似乎没有任何效果

4

1 回答 1

0

您不需要使用多对多进行修补。只需使用Sequelize 关联方法

order.addUser(user.id)

要返回关联,您可能需要order.reaload()在 after 挂钩中执行操作。

于 2018-05-04T10:24:52.650 回答