[英]In rails, why is my finder method only returning one result when I want it to return all of them?
I'm using Rails 5.0.3. 我正在使用Rails 5.0.3。 How do I find all matching records using a finder?
如何使用查找器查找所有匹配的记录? I have
我有
my_obj = self.find_by_name_and_day_and_user_id(name, day, user_id)
but it returns only a single result. 但它只返回一个结果。 When I run turn on the SQL, it is adding a
当我运行时打开SQL,它添加了一个
LIMIT 1
clause. 条款。 How do I write a finder method that will return all results and not just one?
如何编写一个查找程序方法,该方法将返回所有结果,而不仅仅是一个?
您应该使用where
,就像这样
self.where(name: name, day: day, user_id: user_id)
find_by
method always return first matching record. find_by
方法始终返回第一条匹配记录。 So you should use where
clause which will return all matching records. 因此,您应该使用
where
子句,该子句将返回所有匹配的记录。
my_obj = self.where(name: name, day: day, user_id: user_id)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.