如果其中一个“有很多”关联具有特定值,则跳过打印整个对象 Sequelize

问题描述

我正在使用 node 进行续集,但遇到了一个错误。我已将“where”属性应用于模型(项目)。每个项目都有许多优惠。

我想要达到的目标: 如果对项目的报价对其领域之一具有特定价值。我想跳过打印整个项目。

发生了什么: 它不是跳过打印整个项目,而是打印项目,而不是打印优惠数组中的特定优惠。

我的协会:

// 1 user - many projects
User.hasMany(Project,{ as: 'Projects' });
Project.belongsTo(User);
// 1 user - many offers
User.hasMany(Offer,{ as: 'OffersMade' });
Offer.belongsTo(User);
// 1 project - many offers
Project.hasMany(Offer,{ as: 'OffersReceived' });
Offer.belongsTo(Project);

我的代码

const Sequelize = require('sequelize');

const Op = Sequelize.Op;

module.exports = (_,{},{ req,models }) => {
  if (!req.isAuth) {
    throw new Error('Not logged in');
  }
  return models.Project.findAll({
    // '$ShortlistedBy.UserId$': { [Op.not]: req.user }
    // '$OffersReceived.UserId$': { [Op.ne]: req.user },where: { progress: 'Active','$OffersReceived.UserId$': { [Op.ne]: req.user } },include: [
      {
        model: models.Offer,as: 'OffersReceived',},{
        model: models.Shortlist,as: 'ShortlistedBy',],})
    .then((projects) => {
      console.log(projects);
      return projects;
    })
    .catch((err) => {
      throw err;
    });
};

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)