【发布时间】:2014-10-14 07:30:18
【问题描述】:
我正在尝试构建的平台有一个小侧边栏,它应该显示以前具有相同产品 ID 的帖子。这样用户就可以轻松导航到同一 ID 下分类的更多资源。
这是我尝试过的 where 子句,但不幸的是,它只检索具有相同 ID 的前 3 个帖子,而不是以前的帖子。
@prev = Post.where("product_id = ? AND created_at >= ?", params[:product_id], params[:created_at]).order('created_at desc').limit(3)
我错过了什么吗?
编辑:示例输出
如果表格包含 Post A、B、C、D 和 E。那么对于 Post A,它应该显示 B、C 和 D。对于 Post B,它应该显示 C、D 和 E。
所以,我想获取每个帖子的前 3 个帖子。不仅是前 3 个帖子。
【问题讨论】:
-
您正在通过 created_at desc 对 where 子句的结果进行排序,并将其限制为 3。因此它将获取最新的 3 条记录。您想显示所有记录然后不要限制它。
-
我实际上只想显示前 3 个帖子!因此是极限。
标签: sql ruby-on-rails database activerecord