Rails Active Record查找项目超出范围

时间:2016-07-13 19:13:23

标签: rails-activerecord ruby-on-rails-2 active-record-query

我不确定我是否完全理解主动记录查询,但是我遇到了一个非常奇怪的问题,即我的主动记录条件似乎是在我当前范围之外的项目。以下是我所看到的一个例子:

在Rails 2.3控制台中

>> Transaction.single_card.find(:all).map(&:id)
=> [0, 1, 2, 3, 4, 5]
>> Transaction.single_card.find(:all, :conditions => "cards.number = '1234'").map(&:id)
=> [9]

<this line added because the [9] was being cut in half by scroll bar>

这是怎么回事?为什么,当我在查询中添加额外条件时,是否应该提取一个根本不应该存在的记录?根据我的理解,额外的条件应该检查​​事务0..5(使用单张卡的交易)并查看卡号是否为1234.但查询提取事务9,其中有2张卡与之关联,这就是为什么它没有出现在初始查询中。发生了什么事?

额外注意:名为scope的single_card:包括卡片参考

0 个答案:

没有答案