在 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)
我正在使用 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)