首先给出两行查询代码:
1、 Shop.collect{|s| puts s.id if s.recommend == 1}
2、 Shop.where(:recommend => 1).collect{|s| puts s.id}
想要实现的结果就是 查出所有 Shop 表中字段 recommend 的值为 1 的数据
预期结果代码 1 的返回是正常的,但是代码 2 返回的结果少于预期值。
然后对比代码 2 与代码 1 返回的结果,其中代码 2 返回结果全部可以再代码 1 中找到,
然后查看代码 1 返回的数据,抽出一条没有在代码 2 返回的结果,用如下代码进行查询
Shop.find("shop_id").recommend
结果返回为 1
很奇怪,求解答两个方法查询结果为什么有差别。