将计数关联条目的顺序与单独的相关联



我正在尝试使用includes中的单独属性来计算相关条目,以提高性能(如果没有它,请求需要5秒(。但我收到以下错误:

"消息":"缺少表"的FROM子句条目;likedPosts">

抱歉英语不好,这不是我第一次。我希望你能理解并帮助我。

我的代码:

@Query((returns) => [Post], {
nullable: true
})
async getAllFeedPostsByUserId(@Arg('user_id') user_id: number): Promise < Post[] > {
const result = await Post.findAll({
attributes: {
include: [
[Sequelize.fn("COUNT", Sequelize.col("likedPosts.feed_post")), "likesAmount"]
]
},
include: [{
model: LikedPosts,
as: 'likedPosts',
attributes: [],
separate: true,
}, ]
});
return result;
}

我认为小组必须对条目进行计数。

Post.findAll({
attributes: { 
include: [[Sequelize.fn('COUNT', Sequelize.col('likedPosts.feed_post')), 'likesAmount']] 
}, 
include: [{
model: LikedPosts, 
attributes: []
}],
group: ['likedPosts.feed_post'] // groupBy is necessary else it will generate only 1 record with all rows count
})

我可以看到seperate

单独的desc

详细说明:默认情况下,为了检索相关的模型实例,Sequelize将使用SQL JOIN。通过启用separate,Sequelize将对每个关联的模型执行单独的查询,并将生成的文档连接到代码中(而不是让数据库执行连接(。

最新更新