小编Far*_*hsh的帖子

字段列表中的未知列续集

我正在尝试使用 Sequelize 执行以下查询:

db.Post.findAll({
      include: [
        {
          model: db.User,
          as: 'Boosters',
          where: {id: {[Op.in]: a_set_of_ids }}
        },
        {
          model: db.Assessment,
          as: 'PostAssessments',
          where: {UserId: {[Op.in]: another_set_of_ids}}
        }
      ],
      attributes: [[db.sequelize.fn('AVG', db.sequelize.col('Assessments.rating')), 'average']],
      where: {
        average: 1
      },
      group: ['id'],
      limit: 20
    })
Run Code Online (Sandbox Code Playgroud)

但是我遇到了这个错误:“ER_BAD_FIELD_ERROR”。“字段列表”中的未知列“Assessments.rating”,尽管我在数据库中有“Assessments”表,而“rating”是该表中的一列。

我的 Post 模型如下所示:

const Post = sequelize.define('Post', {
title: DataTypes.TEXT('long'),
description: DataTypes.TEXT('long'),
body: DataTypes.TEXT('long')
  }, {
  timestamps: false
    });

  Post.associate = function (models) {
    models.Post.belongsToMany(models.User, {as: 'Boosters', through: 'UserPostBoosts' });
    models.Post.hasMany(models.Assessment, {as: 'PostAssessments'});
  };
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

node.js sequelize.js

7
推荐指数
1
解决办法
2万
查看次数

标签 统计

node.js ×1

sequelize.js ×1