【发布时间】:2015-01-25 10:34:59
【问题描述】:
我正在尝试根据子表中列的值来选择数据库条目。
具体来说,我有一个包含公司官员姓名和联系信息的表格,型号:Officer。一名官员has_many :roles(CEO、CFO、总裁等);这允许一名官员兼任总裁兼首席执行官、首席运营官和首席技术官以及其他此类常见组合。
问题:我正在努力根据公司的特定角色来选择主管。 (假设我想知道公司 CEO 的名字。)
所以我设置了以下内容:
class Company < ActiveRecord::Base
has_many :officers
has_many :roles, through: :officers
accepts_nested_attributes_for :officers
end
和
class Officer < ActiveRecord::Base
has_many :roles
belongs_to :company
accepts_nested_attributes_for :roles
end
和
class Role < ActiveRecord::Base
belongs_to :officer
end
所以我试过company.officer.where(roles.role_string: "Chairman of the Board") ...不
我试过company.roles.where(role_string: "Chairman of the Board").officer ...也不行
任何指导将不胜感激!非常感谢。
【问题讨论】:
-
@Nithin 非常感谢您的回复。这似乎让我走得更远。我怎么能在一个列中要求一个值呢?我试过
Role.includes(:officers).where(role_string: "Chairman of the Board").fname(试图得到警官的名字)但没有用。
标签: ruby-on-rails database ruby-on-rails-4 crud