我正在使用Spree的电子商务框架,并且需要根据视图模板上的现有产品返回相似的产品。
现在,我有一个以各种方式构建的数组taxon_ids
。我在此查询中使用它:
@similar_products = Spree::Product.joins(:taxons).where(spree_products_taxons: {taxon_id: taxon_ids })
这将查询Index Cond: (taxon_id = ANY ('{145,27,54}'::integer[]))
,
,但它需要返回与 ALL 个taxon_id匹配的对象,而不是与taxon_ids的 ANY 匹配的对象。
如何将上面的@similar_products查询修改为仅返回匹配数组中所有数字的对象,而不返回至少匹配一个的对象?