Монгоидный запрос!Сочетание лимита и порядка - PullRequest
4 голосов
/ 13 марта 2012

В моем приложении rails я хочу получить 10 последних записей с уникальным значением.

Я пытался:

@users = User.all(:limit => 10, :sort => [:created_at, :desc]).map{|t| t.first_name}.uniq

но

предел не работает, как я ожидаю ..

Я хочу, чтобы «предел» действовал на запрос последним.

есть идеи?

1 Ответ

11 голосов
/ 13 марта 2012
@users = User.desc(:created_at).limit(10).map(&:first_name).uniq

Вы должны использовать distinct. Возможно, что uniq приведет к тому, что вы получите менее 10 записей.

@users = User.limit(10).distinct(:first_name).desc(:created_at).map(&:first_name)
...