Protože chyba uvádí for SELECT DISTINCT, ORDER BY expressions must appear in select list
.Proto musíte výslovně vybrat klauzuli, kterou objednáváte.
Zde je příklad, je podobný vašemu případu, ale trochu zobecněte.
Article.select('articles.*, RANDOM()')
.joins(:users)
.where(:column => 'whatever')
.order('Random()')
.uniq
.limit(15)
Takže explicitně uveďte svůj ORDER BY
klauzule (v tomto případě RANDOM()
) pomocí .select()
. Jak je uvedeno výše, aby váš dotaz vrátil atributy článku, musíte je také explicitně vybrat.
Doufám, že to pomůže; hodně štěstí