在 rails 中,为什么我的查找器方法只 return 一个结果,而我希望它 return 所有结果?

In rails, why is my finder method only returning one result when I want it to return all of them?

我正在使用 Rails 5.0.3。如何使用查找器找到所有匹配的记录?我有

my_obj = self.find_by_name_and_day_and_user_id(name, day, user_id)

但它 return 只有一个结果。当我 运行 打开 SQL 时,它正在添加一个

 LIMIT 1

条款。我如何编写一个将 return 所有结果而不只是一个结果的查找器方法?

你应该使用 where,像这样

self.where(name: name, day: day, user_id: user_id)

find_by方法总是return第一个匹配的记录。所以你应该使用 where 子句,它将 return 所有匹配的记录。

my_obj = self.where(name: name, day: day, user_id: user_id)