过滤关系类似于任何?在 Rails
Filter relations similar to any? in Rails
我有一个 has_many 宠物的人物模型。 Pet模型中有个方法叫is_parent?
如何根据宠物是否已经拥有 child 来过滤某人的宠物?
我想要类似的东西
person = Person.first
person.pets.any? { |pet| pet.is_parent? } # returns true
有什么我可以叫的吗 person.pets.filter { |pet| pet.is_parent? } 和 returns 所有具有 children?
的宠物
谢谢
您可以像这样使用 select
method from Ruby's Enumerable 模块
person.pets.select { |pet| pet.is_parent? }
也可以写成
person.pets.select(&:is_parent?)
也就是说,对于大量记录,通常最好在数据库端进行过滤。
我有一个 has_many 宠物的人物模型。 Pet模型中有个方法叫is_parent? 如何根据宠物是否已经拥有 child 来过滤某人的宠物? 我想要类似的东西
person = Person.first
person.pets.any? { |pet| pet.is_parent? } # returns true
有什么我可以叫的吗 person.pets.filter { |pet| pet.is_parent? } 和 returns 所有具有 children?
的宠物谢谢
您可以像这样使用 select
method from Ruby's Enumerable 模块
person.pets.select { |pet| pet.is_parent? }
也可以写成
person.pets.select(&:is_parent?)
也就是说,对于大量记录,通常最好在数据库端进行过滤。