最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

Sequelize:类型错误:无法读取的未定义的属性“

IT培训 admin 7浏览 0评论

Sequelize:类型错误:无法读取的未定义的属性“

我试图通过相关模型的数量来订购,并已获得来自Sequelize以下错误

无法读取的未定义的属性“_modelAttribute”

我有下面的代码:

db.user.belongsToMany(db.user, {
  as: "User",
  through: "UserFollowers",
  foreignKey: "user_id"
});
db.user.belongsToMany(db.user, {
  as: "Follower",
  through: "UserFollowers",
  foreignKey: "follower_id"
});

   User.findAll({
          attributes:["username",db.sequelize.literal('(SELECT COUNT(*) FROM "public"."Users","public"."UserFollowers" WHERE "Users".user_id = "UserFollowers".user_id GROUP BY "Users".user_id)'),'followercount'],
          include:[{model:User,as:'Follower'}],
          order:[{ model: User, as: 'Follower' }[db.sequelize.literal('followercount')],'DESC']
      }).then(users => {
          res.json(users)
      })

我感谢所有帮助!

回答如下:

从代码一眼,这个问题似乎是在排序子句。将其更改为:

order: [[{ model: User, as: 'Follower' }, 'followercount', 'DESC']]

如果不剪,尝试通过增加logging: console.log记录查询的结果。这将帮助你确定哪些部分是通过分析SQL查询失败。

Sequelize:类型错误:无法读取的未定义的属性“

我试图通过相关模型的数量来订购,并已获得来自Sequelize以下错误

无法读取的未定义的属性“_modelAttribute”

我有下面的代码:

db.user.belongsToMany(db.user, {
  as: "User",
  through: "UserFollowers",
  foreignKey: "user_id"
});
db.user.belongsToMany(db.user, {
  as: "Follower",
  through: "UserFollowers",
  foreignKey: "follower_id"
});

   User.findAll({
          attributes:["username",db.sequelize.literal('(SELECT COUNT(*) FROM "public"."Users","public"."UserFollowers" WHERE "Users".user_id = "UserFollowers".user_id GROUP BY "Users".user_id)'),'followercount'],
          include:[{model:User,as:'Follower'}],
          order:[{ model: User, as: 'Follower' }[db.sequelize.literal('followercount')],'DESC']
      }).then(users => {
          res.json(users)
      })

我感谢所有帮助!

回答如下:

从代码一眼,这个问题似乎是在排序子句。将其更改为:

order: [[{ model: User, as: 'Follower' }, 'followercount', 'DESC']]

如果不剪,尝试通过增加logging: console.log记录查询的结果。这将帮助你确定哪些部分是通过分析SQL查询失败。

发布评论

评论列表 (0)

  1. 暂无评论