我怎样才能做一个左外连接使用Rails的ActiveRecord? [英] How can I do a LEFT OUTER JOIN using Rails ActiveRecord?
本文介绍了我怎样才能做一个左外连接使用Rails的ActiveRecord?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我没有任何想法。你能不能给我任何的线索(如参考站点)。任何帮助将AP preciated。
I don't have any ideas. Could you give me any clues (like reference sites). Any help will be appreciated.
Model1: GROUP(id, name)
Model2: USER_GROUP_CMB(id, user_id, group_id)
预计SQL语句:
Expected SQL statement:
SELECT *
FROM groups AS g LEFT OUTER JOIN user_group_cmbs AS cmb
ON g.id = cmb.group_id
WHERE cmb.user_id = 1
我试图建立协会下面,但我不知道以后该做的事。
I tried to set up associations below but I dont know what to do after this.
class Group < ActiveRecord::Base
has_many :user_group_cmb
end
class UserGroupCmb < ActiveRecord::Base
has_many :group
end
Rails的版本:3.1.1
Rails Version: 3.1.1
推荐答案
我相信一个包括
将使用 LEFT OUTER JOIN
查询,如果你做一个条件在桌子上的包括
的关联用途:
I believe an includes
will use a LEFT OUTER JOIN
query if you do a condition on the table that the includes
association uses:
Group.includes(:user_group_cmb).where("user_group_cmbs.user_id = ?", 1)
这篇关于我怎样才能做一个左外连接使用Rails的ActiveRecord?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文