繁体   English   中英

通过 Sequelize 过滤相关模型

[英]Filter related models by Sequelize

我的应用程序中有两个模型,Delivery 和 DeliveryProblem。 DeliveryProblem 有一个来自 Delivery 的 PK (delivery_id):

static associate(models) {
    this.belongsTo(models.Delivery, {
      foreignKey: 'delivery_id',
      as: 'delivery',
    });
  }

我需要 select 所有有交付问题的交付。 在我的 Controller 中,有以下方法:

async index(req, res) {
    const response = await DeliveryProblem.findAll({
      order: ['id'],
      attributes: ['delivery_id'],
    });

    // Filter all Deliveries with problem
    const ids = [...new Set(response.map((x) => x.delivery_id))];

    const deliveries = Delivery.findAll({
      where: , // <<< How can I filter ?
      order: ['id'],
    });

    return res.json(deliveries);
  }
const Sequelize = require('sequelize')
const Op = Sequelize.Op
...
// Filter all Deliveries with problem
const ids = [...new Set(response.map((x) => x.delivery_id))];
const deliveries = Delivery.findAll({
  where: {
   id: {
     [Op.in]: ids
   }
  },
  order: ['id'],
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM