问题描述
我正在使用 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 (将#修改为@)