我正在将Spree用于电子商务应用程序,在向消费者显示产品列表时,我需要根据产品的库存项目数包含查询。
条件是这样的:我只需要显示库存数量> gt的产品。 2(所有变体的库存总数)。
所以,我需要在这里添加一个范围 - https://github.com/spree/spree/blob/master/core/app/models/spree/product/scopes.rb
问题是范围需要与其他范围一起使用,还需要使用选项distinct =>是的(不想破坏应用程序的其他部分)
范围可以是这样的:
add_search_scope :with_valid_stock do |values|
joins(:stock_items).where(condition)
“条件”必须是所有变体的存量之和大于2.任何有关编写条件的最佳方法的帮助都会有所帮助