Postgres加入Rails查询

时间:2012-07-27 20:42:04

标签: ruby-on-rails postgresql activerecord rails-postgresql

我研究了很多,但我找不到问题的答案。我的Rails应用程序上有以下设置:

class Group < ActiveRecord::Base
  has_many :people
  # ...
end

class City < ActiveRecord::Base
  has_many :people
  # ...
end

class Person < ActiveRecord::Base
  belongs_to :city
  belongs_to :group
  # ...
end

人们拥有:role0的专栏1

我想让至少有一个人role == 0的所有群组和一个人role == 1的群组。

有什么想法吗?顺便说一下,我正在使用Postgres。

1 个答案:

答案 0 :(得分:1)

这是我刚刚在我的SQLite3数据库上测试的一个查询(我也相信也应该在Postgres上运行):

 Group.select("groups.*").joins("LEFT JOIN people on groups.id = people.group_id").where("people.role==0 OR people.role==1").group("id")

这里我假设您已经在人员迁移中添加了外键group_id。希望这会有所帮助。