我们有locations
的{{1}} has_many
和images
images
一个belongs_to
。我想获取用户在图像上按User
的顺序拍摄照片的所有不同位置。我想尝试通过单个查询来完成此操作,但是我一直无法找到一种可行的方法。
我尝试了created_at
的变体,但是它们导致诸如以下的错误:
Location.joins(:images).where(images: { creator: user }).order('images.date_uploaded DESC').distinct
或结果不一致。
如果我使用
ActiveRecord::StatementInvalid: PG::InvalidColumnReference: ERROR: for SELECT DISTINCT, ORDER BY expressions must appear in select list
LINE 1: ...ype" = $1 AND "images"."creator_id" = $2 ORDER BY images.dat...
,它会返回正确的结果,但是我认为必须将数据库中的记录加载到数组中以使其唯一。
我尝试通过以下查询使用SQL(我不是专家):
uniq
但是我仍然得到重复。