[英]Make a Mysql query that finds data just before another (in RoR)
我正在向MySql进行此查询
Image.find( :all,
:conditions => ["created_at > ? && approved = 1", @image.created_at],
:order => "created_at DESC", :limit => 5)
但是,我想在给定图像创建之前创建图像。 现在,它从列表顶部返回一个图像列表,这些图像在该图像之前创建了很多。 我怎样才能做到这一点?
您当前的查询将找到任何比@image更新的图像,因为您使用的是>。 您需要确定要查看的范围。.您认为“刚好在”什么时间范围? 分钟? 秒?
要查找在@image的5分钟内创建的所有图像,请尝试:
Image.find(:all, :conditions => ["(created_at > ? and created_at < ?) and approved = 1", @image.created_at.advance(:minutes => -5), @image.created_at])
我的解决方案更像是一种骇客,但我不确定是否有更好的解决方案。 我设置了:order =>“ created_at ASC” ...然后反转了结果数组,得到了我想要的响应。 嗯
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.