我尝试构建的平台有一个侧边栏,可以显示以前具有相同产品ID的帖子。这样用户可以轻松导航到在相同ID下分类的更多资源。
这是我尝试过的where子句,但遗憾的是它只检索前3个帖子,这些帖子具有相同的ID而不是之前的帖子。
@prev = Post.where("product_id = ? AND created_at >= ?", params[:product_id], params[:created_at]).order('created_at desc').limit(3)
我错过了什么吗?
编辑:示例输出
如果表格包含后A,B,C,D和E.那么对于后A,它应该显示B,C和D.对于后B,它应该显示C,D和E.
所以,我想为每个帖子获取前3个帖子。而不仅仅是前3个帖子。
答案 0 :(得分:0)
要选择前三个帖子,只需删除created_at参数,如下所示:
@prev = Post.where("product_id = ?", params[:product_id]).order('created_at desc').limit(3)
答案 1 :(得分:0)
这个怎么样: -
首先找到产品
@product = Post.find_by_id(params[:product_id])
然后根据产品的created_at日期查找之后创建的所有产品: -
@prev = Post.where("created_at > ? AND project_id = ?", @product.created_at, @product.id).order('created_at desc').limit(3)