我需要通过不是id的唯一标识符在我的数据库中找到多个模型。有没有办法在rails中执行此操作?基本上,我正在寻找类比:
Foo.find([1,2,3])
用于by_attribute帮助程序:
Foo.find_by_name(['me','you','him'])
我现在遇到的问题是find_by_name
帮助器将LIMIT 1
附加到它创建的查询中,因此我只返回一个对象而不是一个数组我正在寻找的物品。
谢谢!
答案 0 :(得分:3)
使用rails 3.x:
Foo.find_all_by_name(['me','you','him']);
或使用rails 4.x
Foo.where(name: ['me','you','him'])
答案 1 :(得分:1)
像往常一样,我在写完Stack Overflow的问题时就想出来了。)
where
支持值列表,并返回匹配的所有对象。因此,要按名称查找所有Foos
:
Foo.where(name: ['me','you','him'])