所以我想获得帖子中评论的数量,而不是所有评论本身
我已经将它与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')
}
最佳答案
无法测试,但示例以这种方式出现在docs上:
const posts = await Post
.query()
.select(
'Post.*',
Post.relatedQuery('comments').count().as('numberOfComments')
);
console.log(posts[4].numberOfComments);
关于node.js - objection.js ModifyEager .as('count')似乎对.count()没有任何作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55066781/