使用Sequelize选择嵌套关系

时间:2020-09-30 18:52:53

标签: mysql node.js sequelize.js

我有以下模型:一个事件可能有零个或多个订单,每个订单可能有零个或多个配额。我想选择所有没有订单的事件,或者如果所有订单的订单都没有状态为1的配额。

唯一不应该返回的事件是其任何订单的配额均为1的事件。

release

他们的关系:

const Order = sequelize.define('Order', {
    id: {
    type: Sequelize.INTEGER(11),
    allowNull: false,
    primaryKey: true,
    autoIncrement: true,
    field: 'ID'
    },
    userId: {
        type: Sequelize.BIGINT,
        allowNull: false,
        field: 'USER_ID'
      },
    ...
    eventId: {
    type: Sequelize.BIGINT,
    allowNull: true,
    field: 'EVENT_ID'
    }
    ...

我的查询

Order.belongsTo(Event, { as: 'event', foreignKey: 'EVENT_ID' });
Event.hasMany(Order, { as: 'order', foreignKey: 'EVENT_ID' });
Quota.belongsTo(Order, { as: 'order', foreignKey: 'ORDER_ID' });
Order.hasMany(Quota, { as: 'quota', foreignKey: 'ORDER_ID' });

0 个答案:

没有答案