我正在向MySql发送此查询
Image.find( :all,
:conditions => ["created_at > ? && approved = 1", @image.created_at],
:order => "created_at DESC", :limit => 5)
但是,我希望图像创建之前创建给定图像。现在,它正在返回列表顶部的图像列表,这些图像在该图像之前创建了很多。我怎么能这样做?
答案 0 :(得分:0)
您当前的查询会找到比@image更新的图像,因为您使用>。您需要确定您想要查看的范围。您在“之前”考虑的时间范围是什么?分钟?秒?
要查找@image 5分钟内创建的所有图像,请尝试:
Image.find(:all, :conditions => ["(created_at > ? and created_at < ?) and approved = 1", @image.created_at.advance(:minutes => -5), @image.created_at])
答案 1 :(得分:0)
我的解决方案感觉更像是黑客攻击,但我不确定是否更好。我设置:order =&gt; “created_at ASC”...然后反转生成的数组,得到我想要的响应。 HRM。