Tri*_*leN 3 javascript sql node.js sequelize.js
我试图按关联模型的计数进行排序,并且从 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"
});
Run Code Online (Sandbox Code Playgroud)
和
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)
})
Run Code Online (Sandbox Code Playgroud)
我很感激任何帮助!
小智 5
从代码看,问题似乎出在排序条款上。将其更改为:
order: [[{ model: User, as: 'Follower' }, 'followercount', 'DESC']]
Run Code Online (Sandbox Code Playgroud)
如果这还不能解决问题,请尝试通过添加 来记录查询的结果logging: console.log。这应该可以帮助您通过分析 sql 查询来确定哪个部分出现故障。
| 归档时间: |
|
| 查看次数: |
6196 次 |
| 最近记录: |