首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Arel复杂查询

Arel复杂查询
EN

Stack Overflow用户
提问于 2011-11-21 16:00:22
回答 1查看 213关注 0票数 1

所以我有以下几个表

代码语言:javascript
复制
class Game
  belongs_to :player0, :class => "Player"
  belongs_to :player1, :class => "Player"
end

class Player
  belongs_to :user
end


class User
  #has a field called race
end

现在,我需要一个查询来执行以下操作

查找player0.user.race为"x“且player1.user.race为"y”或player0.user.race为"y“且player1.user.race为"x”的所有游戏。

我刚开始使用Rails3,我可以很容易地自己用sql编写查询,但我更愿意学习arel的方法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-21 17:03:57

使用meta_where gem:

代码语言:javascript
复制
Game.joins(:player0, :player1).where((:player0 => {:user => {:race => 'x'} | {:race => 'y'}}) | (:player1 => {:user => {:race => 'x'} | {:race => 'y'}}))

使用to_sql方法进行检查。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8208808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档