В моем проекте ruby on rails я создал несколько разных моделей. В настоящее время различными типами моделей являются статьи, быстрые подсказки, цитаты и определения. Я создал страницу, где я хотел бы отображать все эти данные в одном потоке, упорядоченном по времени создания.Извлечение множества разных моделей из базы данных в то же время
Вопрос: Что такое разумный/эффективный способ получения определенного количества элементов, выбранных среди всех типов контента, упорядоченных по дате создания.
Надеюсь иллюстративный псевдокод:
Db.load([:Tip, :Quote, :Article, :Definition]).order_by(:created_at).limit(10)
Лучшее решение, которое я придумал сам до сих пор, чтобы загрузить 10 пунктов каждой категории, сортировать их и забрать последние 10 из отсортированного списка. : P
Было бы полезно, если бы вы могли предоставить схему для таблиц. –
Вы можете создать VIEW в SQL (http://stackoverflow.com/questions/13656864/sql-create-view-from-multiple-tables), а затем запросить это представление, чтобы получить все последние записи. – MrYoshiji
MrYoshiji, ваш ответ зависит от того, существуют ли общие идентификаторы или что-то, к чему можно подключиться, однако эти таблицы не имеют ничего общего. Поэтому я не хочу ничего комбинировать в составные строки, я просто хочу получить данные из нескольких таблиц сразу, отсортированные по дате создания, _efficiently_. – Daniel