Я пытаюсь объединить две разные таблицы вместе, чтобы получить отчет об активности пользователя, но я получаю неправильные результаты, и после получения строк результатов у меня возникают проблемы при работе с ним.
Вот мой query:
User.joins(:contract_comments).joins(:audits).where(id:1).where(contract_comments: { created_at: (dateRange) }).where(audits: { created_at: (dateRange) })
Это дает в 4 раза больше результатов, чем ожидалось, например:
[#<User id: nil, audit_id: 56237, contract_comment_id: 4511>,
#<User id: nil, audit_id: 56238, contract_comment_id: 4511>,
#<User id: nil, audit_id: 56239, contract_comment_id: 4511>,
#<User id: nil, audit_id: 56240, contract_comment_id: 4511>]
Это результат после получения dateRange, который должен иметь только один contract_comment и никаких аудитов .
Я пробовал разные подходы для решения, но это был самый многообещающий. Но я застрял сейчас и мне нужна помощь, как сделать этот отчет. Причина, по которой мне нужна эта таблица, состоит в том, чтобы отсортировать первые 25 строк по дате независимо от таблицы, из которой она получена.
Спасибо!