Rails包含/订单/限制返回错误的结果

时间:2014-03-13 15:18:20

标签: ruby-on-rails ruby activerecord

当我通过反向ID订购记录集(即.order(“id desc”))并设置.limit(10)时,我从表中获得最后十条记录。

如果我在那里投入一个包含(:无论如何),我会得到第一个十条记录,反向排序(10,9,8,7等)。

所以,返回正确结果的例子(245978,245977,245976等):

assets = Asset.order("assets.id desc").limit(records_per_query).where("asset_type_id not in (?)", skip_asset_types)

返回错误结果的示例(10,9,8等):

assets = Asset.includes(:asset_type).order("assets.id desc").limit(records_per_query).where("asset_type_id not in (?)", skip_asset_types)

知道如何让第二个查询返回正确的结果集吗?我宁愿避免进行n + 1个查询(它实际上包含的不仅仅是一个关系,为了一个可读的例子而简化)。

1 个答案:

答案 0 :(得分:0)

那里有一个错字。 "asset_type_idnot in (?)"。只是说' :)