gpt4 book ai didi

ruby-on-rails - 通过关联查找 activerecord

转载 作者:行者123 更新时间:2023-12-04 16:30:13 24 4
gpt4 key购买 nike

我正在尝试从我的数据库中检索一个 activerecord 对象。我的模型是

class User < ActiveRecord::Base
belongs_to :account
has_many :domains, :through => :account
end


class Account < ActiveRecord::Base
has_many :domains
has_many :users
end


class Domain < ActiveRecord::Base
belongs_to :account
end

现在我想根据用户名和域名检索用户(假设这些分别是 User 和 Domain 类的属性)。即类似的东西
User.find(:first, :conditions =>{:username => "Paul", :domains => { :name => "pauls-domain"}})

我知道上面的代码将不起作用,因为我必须提到有关域表的一些内容。此外,用户和域之间的关联是一对多的(这可能会使事情进一步复杂化)。

关于如何形成此查询的任何想法?

最佳答案

如果您使用的是 Rails 3.x,以下代码将获得查询结果:

User.where(:username => "Paul").includes(:domains).where("domains.name" => "paul-domain").limit(1)

要检查发生了什么,您可以附加 .to_sql到上面的代码。

如果您使用的是 Rails 2.x,则最好编写原始 sql 查询。

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

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