【问题标题】:Postgres Join Query on RailsPostgres 在 Rails 上加入查询
【发布时间】:2012-07-26 13:53:51
【问题描述】:

我进行了很多研究,但找不到我的问题的答案。我的 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

人们拥有:role 列,即01

我想获取至少有一个人使用role == 0 和一个人使用role == 1 的所有组。

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

【问题讨论】:

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


    【解决方案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。希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-13
      • 2014-05-16
      • 2021-12-28
      • 2019-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多