Есть ли способ добавить счетчик в предложение «with» конструктора запросов? - PullRequest
0 голосов
/ 14 июля 2020

Я сделал клон твиттера в Adonis JS и получаю «твиты» таким образом:

const tweets = await Post.query()
  .whereIn('user_id', followersIds)
  .with('user')
  .with('favorites')
  .with('replies')
  .orderBy('created_at', 'DESC')
  .paginate(params.page, 3)

Проблема в том, что в этом методе я получаю твит со всеми таблицами ответов, нужно количество твитов или replies.lenght.

Я думал использовать для этого пряжку, но, возможно, существует другой способ 4 сделать это в конструкторе запросов ...

Спасибо за помощь.

1 Ответ

1 голос
/ 30 июля 2020

вы можете использовать .withCount()

попробуйте:

const tweets = await Post.query()
  .whereIn('user_id', followersIds)
  .with('user')
  .with('favorites')
  .withCount('replies')
  .orderBy('created_at', 'DESC')
  .paginate(params.page, 3)

вы должны увидеть свойство с именем replies_count

https://adonisjs.com/docs/4.1/relationships#_counts

...