当我通过反向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个查询(它实际上包含的不仅仅是一个关系,为了一个可读的例子而简化)。
答案 0 :(得分:0)
那里有一个错字。 "asset_type_idnot in (?)"
。只是说' :)