我有一個Box,其中有許多包含許多屬於Category的項目的Compartments。項目是多態的(:可迭代的),因爲它們可以屬於沒有隔室的箱子 - 這可能是我的難處。過濾從Rails熱切加載的結果
我可以打電話給所有的項背在數據庫中的所有框,在框中控制器:
@category_items = Item.includes(:category).group("categories.name").sum("quantity * value")
,但我怎麼能過濾這些下降到那些只屬於當前盒ID?
謝謝邁近了一步。我在itemable_id IN中遇到了一個語法錯誤,所以切換到itemable_id =?,這個工作正常,直到我有多個分區 - 然後我得到一個無效的語句,例如itemable_type ='Compartment'AND itemable_id = [19,20,21] ,關於如何處理這組ID的任何想法? – ritchielee
對不起,我修改了IN子句的格式。它應該是可迭代IN(item1,item2,...)的形式。看看這是否有效。 – cdesrosiers
請注意,這涉及主SQL查詢內嵌入的「SELECT」查詢。 – cdesrosiers