Тъй като грешката гласи for SELECT DISTINCT, ORDER BY expressions must appear in select list
.Следователно трябва изрично да изберете клаузата, по която поръчвате.
Ето един пример, подобен е на вашия случай, но обобщете малко.
Article.select('articles.*, RANDOM()')
.joins(:users)
.where(:column => 'whatever')
.order('Random()')
.uniq
.limit(15)
Така че, включете изрично вашия ORDER BY
клауза (в този случай RANDOM()
) с помощта на .select()
. Както е показано по-горе, за да може вашата заявка да върне атрибутите на статията, трябва изрично да изберете и тях.
Надявам се това да помогне; късмет