gpt4 book ai didi

ruby-on-rails - 通过关联查询 - Rails 3

转载 作者:行者123 更新时间:2023-12-04 16:27:47 26 4
gpt4 key购买 nike

我想像这样进行一些查询:

employees = Employee.where(:group.name => 'admin')
employees = Employee.where(:company.address.city => 'Porto Alegre')

我的意思是,我需要通过关联访问另一个模型中的字段。

提前致谢

最佳答案

假设一家公司可以有多个地址(我假设这是因为您的 company.address.city 命名空间,并且因为它是一个有趣的查询示例):

class Group < ActiveRecord::Base
has_many :employees
end

class Employee < ActiveRecord::Base
belongs_to :group
belongs_to :company
end

class Company < ActiveRecord::Base
has_many :employees
has_many :addresses
end

class Address < ActiveRecord::Base
belongs_to :company
end

您正在寻找的查询如下:
Employee.
joins(:group).
where(:groups => { :name => 'admin' })
Employee.
joins(:company => :addresses).
where(:addresses => { :city => 'Porto Alegre' })

请注意,在上面的 where 子句中,总是使用关联的复数形式。 where 子句中的键指的是表名,而不是关联名。

关于ruby-on-rails - 通过关联查询 - Rails 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9857992/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com