如何编写活动记录查询以选择其中一个

时间:2015-10-26 17:08:53

标签: ruby-on-rails

我想选择拥有猫或鱼作为宠物的用户。我桌上的用户都拥有这两个用户,但现在我只需要一个或另一个。

/*************************************************************************/ /* Redraw charts on window resize (only if responsive option is TRUE */ angular.element($window).bind('resize', function () { if (googleTreeChartsResponsive) { $timeout(function () { googleChartsInstance.draw(data, googleTreeChartsOptions) }, 250); } });

+----+------+------+

| id | cats | Fish |

+----+------+------+

| 1 | 0 | 1 |

| 2 | 1 | 0 |

| 3 | 1 | 1 |

| 4 | 0 | 1 |

编辑:这在PSQL中是必需的。

2 个答案:

答案 0 :(得分:0)

今天使用ActiveRecord创建WHERE X OR Y的唯一方法是使用where方法编写一段原始SQL查询:

User.where("cats > 0 OR Fish > 0")

答案 1 :(得分:0)

如果您不想包含鱼和猫的所有者,并且您想要一种在所有数据库中工作的方法,那么您可以使用:

Owner.where(“(猫> 0和鱼= 0)或(猫= 0和鱼> 0)”)

Owner.where(“(猫> 0或鱼> 0)和(猫= 0或鱼= 0)”)