Я новичок в продолжении. Я пытаюсь получить комментарии и ответы на эти комментарии от ассоциации hasMany, и мне приходится подсчитывать родительские комментарии и ответы на каждый комментарий, который я получаю
Я использую sequelize findAndCountAll для подсчета строк родительского комментария, что работает нормально, теперь я считаю ответы на каждый комментарий, который я использую
attributes:{include: [[mysql.sequelize.fn("COUNT", mysql.sequelize.col("comment.comment_id")), "Count"]]}
Подсчет ответов первого комментария, но получение, дает остаток родительских комментариев
model
const comment = model.comment;
comment.hasMany(comment,
{
foreignKey: 'parentCommentId',
as: "replies"
});
query
function findWhere(where, pagination){
return mysql.comment.findAndCountAll({
where,
offset: pagination.offset,
limit: pagination.count,
// attributes:{include: [[mysql.sequelize.fn("COUNT", mysql.sequelize.col("comment.comment_id")), "Count"]]},
include: [{
model: mysql.comment,
as: "replies",
offset: 0,
limit: 1
}]
});
}
Это ответ, который он дает
{
"count": 10,
"rows": [
{
"commentId": 2,
"userId": 7,
"postId": 1,
"mediaId": null,
"commentText": "2 Updated Wao amazing post 13",
"parentCommentId": null,
"createdAt": "2019-07-01T05:20:00.000Z",
"updatedAt": "2019-07-04T02:35:49.000Z",
"Count": 10,
"replies": [
{
"commentId": 4,
"userId": 7,
"postId": null,
"mediaId": null,
"commentText": "Wao amazing post",
"parentCommentId": 2,
"createdAt": "2019-07-02T04:08:29.000Z",
"updatedAt": "2019-07-02T04:08:29.000Z"
}
]
}
]
}
Что неверно, так как не отображает оставшиеся комментарии родителей
Проблема в этом
attributes:{include: [[mysql.sequelize.fn("COUNT", mysql.sequelize.col("comment.comment_id")), "Count"]]}