Итак, я хочу получить количество комментариев в сообщении, а не все сами комментарии. Я заставил его работать с modifyEager, например, но as('count')
, похоже, ничего не делает в этом случае
.eager('comments').modifyEager("comments", builder => {
builder.count().as('count')
})
Это действительно утомительно, потому что commentsCount для каждого поста имеет следующие значения:
[]
[]
[]
[]
[ Post { 'count(*)': 1 } ]
[]
Итак, я получил счетчик, делающий это, но я, безусловно, что-то делаю не так
if(commentCount.length > 0)
return data[0]["count(*)"]
return 0
Есть идеи?
РЕДАКТИРОВАТЬ: показ рабочего кода для справки, чтобы помочь людям
module.exports = async (organizationId, scope) => {
return await Post.query()
.where("organization_id", organizationId)
.orderBy("post_id", "desc")
.limit(scope.limit)
.offset(scope.offset)
.select(
'posts.*',
Post.relatedQuery('comments').count().as('commentsCount')
)
.eager('users')
}