Если у вас есть эти типы в отдельных таблицах, то я не думаю, что вы можете сделать это в одном запросе SQL.
Вы можете найти идентификаторы и типы самых последних записей, например:
SELECT * FROM
(SELECT 'Apple' AS class, id, created_at FROM apples LIMIT 10
UNION
SELECT 'Orange' AS class, id, created_at FROM oranges LIMIT 10
UNION
SELECT 'Melon' AS class, id, created_at FROM melons LIMIT 10) AS most_recent
ORDER BY created_at
LIMIT 10;
Затем используйте эти записи для выборки определенных объектов по идентификатору.
Но если вы можетепопробуйте сохранить все это в одной таблице, используя шаблон наследования одной таблицы, который встроен в рельсы .Это будет работать нормально, если типы разделяют много полей.Тогда вы можете просто использовать один вызов Fruit.find с order
и limit
, чтобы получить то, что вы хотите.
В Rails 2:
Fruit.find(:all, :order => "created_at", :limit => 10)