findAllPosts = async () => {
const posts = await Posts.findAll({
attributes: [
'postId',
'UserId',
'nickname',
'title',
'createdAt',
'updatedAt',
// [sequelize.fn('COUNT', sequelize.col('Likes.UserId')), 'likes'],
[sequelize.literal('(SELECT COUNT(*) FROM Likes WHERE Likes.postId = Posts.postId)'), 'likes'],
],
order: [['createdAt', 'DESC']],
});
return posts;
};
주석처리한 부분으로도 같은 조회가 가능하다.