Rails 3, ActiveRecord, PostgreSQL — команда «.uniq» не работает?

У меня есть следующий запрос:

Article.joins(:themes => [:users]).where(["articles.user_id != ?", current_user.id]).order("Random()").limit(15).uniq

и выдает ошибку

PG::Error: ERROR:  for SELECT DISTINCT, ORDER BY expressions must appear in select list
LINE 1: ...s"."user_id" WHERE (articles.user_id != 1) ORDER BY Random() L...

Когда я обновляю исходный запрос к

Article.joins(:themes => [:users]).where(["articles.user_id != ?", current_user.id]).order("Random()").limit(15)#.uniq

, поэтому ошибка исчезла... В MySQL .uniqработает, в PostgreSQL нет. Существует ли альтернатива?

16
задан user984621 18 March 2012 в 13:42
поделиться