如何使用PostgreSQL中的包含/订单工作进行RoR数据库查询?

时间:2017-04-22 02:19:22

标签: ruby-on-rails postgresql activerecord

最新的ChatMessage对我的对话记录的以下排序在SQLite中有效,但不在PostgreSQL中。我怎样才能让它在那里工作?

Conversation.includes(:chat_messages).order("chat_messages.created_at DESC")

class Conversation
   has_many :chat_messages
end

1 个答案:

答案 0 :(得分:0)

尝试添加references(:chat_messages)。这将强制ActiveRecord通过一个查询选择结果:

Conversation.
  includes(:chat_messages).references(:chat_messages).
  order("chat_messages.created_at DESC")

阅读documentation中的详细信息。