我有以下设置
class Cake
has_and_belongs_to_many :ingredients # through a join table
end
class Ingredient
# secret_id , optional integer column.
end
我收到一把秘密身份证。我想生成一个查询,返回蛋糕,只有当我可以得到所有的成分。
Cake A:
Ingredient A -> secret id -> 1
Ingredient B -> secret id -> nil
Cake B:
Ingredient C -> secret id -> 3
Ingredient D -> secret id -> nil
假设我们收到一个带有以下参数的请求: [3,4,5]
我当前的查询如下所示
Cake.includes(:ingredients).where(ingredients: { secret_id: secret_id_params + [nil] })
问题是,它会同时返回蛋糕a和蛋糕b。它返回一个蛋糕,因为它有一个零秘密id在它的成分之一。我不想退回蛋糕,因为我没有找到所有的配料。
1条答案
按热度按时间nimxete21#
我想你只需要这样的东西