Я пытаюсь создать отчет, в котором перечислены самые последние изменения доходов. Я пытаюсь определить лучший способ сортировки (платежи, возвраты, сборы и кредиты) самых последних изменений, разбить их на страницы и отобразить для пользователя.
Эти элементы представлены в 4 разных и не связанных между собой моделях (оплата, возврат, комиссия и кредит). Есть ли способ запросить это из базы данных?
Кроме того, хотите ли вы иметь список последних измененных записей, которые относятся к Payment, Refund, FeeCharge или Credit? или один список для каждого типа?
это легко с STI (наследование одной таблицы)
Отношения между моделями отсутствуют. И я хотел бы иметь один список, содержащий либо платежи, возвраты, сборы или кредиты. @MrYoshiji





Нет простого способа реализовать это с помощью Rails. В конце концов, ИППП — это вариант, но наследование — не всегда правильный путь (см. «Наследование против композиции»).
Один из способов увидеть это состоит в том, что все 4 разные модели используют один и тот же беспокойство: их можно получить на основе некоторого поля (в вашем случае с помощью updated_at).
Имея это в виду, вы можете создать представление SQL, чтобы инкапсулировать эту проблему. Это представление будет выполнять UNION между каждой таблицей и выставлять поля. Затем вы можете создать модель Rails только для чтения, чтобы представить строку из этого представления и просто выполнить запрос через ActiveRecord.
Дайте мне знать, интересен ли вам этот вариант и нужен ли вам конкретный пример.
Можете ли вы уточнить связь между каждой моделью?