【问题标题】:Rails: Search in has_one associationRails:在 has_one 关联中搜索
【发布时间】:2012-07-05 03:32:52
【问题描述】:

我有一个名为 User 的模型 has_one Player。一个玩家belongs_to一个用户

我想查找用户属性 City 具有特定值的所有玩家。现在我的 Player 模型中有这个:

def find
  User.find(:all, :conditions => ['city LIKE ?', "%#{city}%"])
end

但是,这给了我用户。我想要用户满足该条件的玩家。

我该怎么做?

【问题讨论】:

    标签: ruby-on-rails-3 search model


    【解决方案1】:

    试试这个。

    Player.joins(:user).where('user.city LIKE ?', "%#{city}%")
    

    【讨论】:

    • 我收到此错误:'where 子句'中的未知列'user.city' - 我尝试进行连接并且它有效:self.joins(:user).find(:all, :conditions => ['users.city LIKE ?', "%#{city}%"]) - 但我不知道是否需要加入...
    • @HommerSmith 是的,连接是必要的,因为您需要检查关系数据。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-19
    • 1970-01-01
    相关资源
    最近更新 更多