SQL到Rails查询

SQL到Rails查询,sql,ruby-on-rails,ruby,Sql,Ruby On Rails,Ruby,有人能把我的Sql查询转换成Rails查询吗 SELECT DISTINCT conversation_cbgs.* FROM "conversation_cbgs" INNER JOIN "message_cbgs" ON "message_cbgs"."conversation_cbg_id" = "conversation_cbgs"."id" INNER JOIN "user_message_cbgs" ON "user_message_cbgs"."message_cbg_i

有人能把我的Sql查询转换成Rails查询吗

SELECT DISTINCT conversation_cbgs.* FROM "conversation_cbgs" 
INNER JOIN "message_cbgs" 
ON "message_cbgs"."conversation_cbg_id" = "conversation_cbgs"."id"  
INNER JOIN "user_message_cbgs" 
ON "user_message_cbgs"."message_cbg_id" = "message_cbgs"."id" 
WHERE "user_message_cbgs"."user_id" = 1 
ORDER BY conversations_cbgs.updated_at DESC

您必须首先在表之间建立关联。如果存在关联,则显示有问题的关联。


您可以通过
模型执行此查询。通过sql查找(sql\U查询)

假设您的模型构建正确-顺便说一句,这对回答您的问题的人很有帮助-您会有以下情况:

Conversation.select("DISTINCT conversation_cbgs.*")
  .joins(:messages)
  .joins(:user_messages)
  .where("user_message_cbgs.user_id = ?", 1)
  .order("conversations_cbgs.updated_at DESC")
还有其他使用作用域和合并等的方法,但您还没有发布任何模型供我们展示

 ConversationCbg.find(:all, :conditions=>["user_message_cbgs.user_id=?",1], :joins=>"As conversation_cbgs inner join  message_cbgs on message_cbgs.conversation_cbg_id=conversation_cbgs.id inner join user_message_cbgs on user_message_cbgs.message_cbg_id=message_cbgs.id" , :select=>"Distinct conversation_cbgs.*", :order=> "conversations_cbgs.updated_at desc")