是否有可能在 Objection js 的子子查询中获得总计数?

Is it possible to get total counts in sub-sub queries in Objection js?

例如,我有一个用户,它有 Posts (HasMany) 和 Posts,它有属于 User 和 Post 的 Likes。因此,当我尝试让所有用户都与每个用户相关时,我试图获得每个 post 中的总点赞数。

const users = User.query().withGraphFetched('[posts.[likes, files]]')
      .select(['user_table.*', User.relatedQuery('posts').count().as('totalPosts')])

在上面的例子中我得到了总计Posts。没关系,但如果我想获得每个 post 个总赞怎么办?

最终期待这样的事情:

const users = User.query().withGraphFetched('[posts.[likes, files]]')
      .select(['user_table.*', User.relatedQuery('posts').innerRelated('likes').count().as('totalLikes')])

并期望输出数组包含如下用户:

[{
   id: 9323,
   firstName: 'John',
   lastName: 'Travolta',
   posts: [{
      id: 2,
      totalLikes: 99,
      files: [File],
   }],
   bio: 'Actor'
}]

所以。找到了解决方案。如何做到这一点:

const users = await User.query()
      .withGraphFetched('[web, posts.[likes, files, comments]]')
      .modifyGraph('posts', builder => {
        builder.select('post_table.*', Post.relatedQuery('likes').count().as('totalLikes'));
      });