Database Codeigniter&;PostgreSQL:根据输入日期或最新评论日期显示帖子,具体取决于更新的日期

Database Codeigniter&;PostgreSQL:根据输入日期或最新评论日期显示帖子,具体取决于更新的日期,database,postgresql,sorting,codeigniter,activerecord,Database,Postgresql,Sorting,Codeigniter,Activerecord,我使用的是CI,并且有一个PostgeSQL,其中有两个表:Posts和Comments,这两个表都有两列:Id和Date。Comments还有一个列Parentid,可以将其与相关的帖子相匹配 现在我想显示按最新活动排序的帖子,即根据帖子日期显示,或者如果有与帖子相关的评论,则按最新评论日期显示 以下设置 职位: Id | Date ========= 1 | 04 2 | 07 3 | 08 评论: Id | Parentid | Date ====================

我使用的是CI,并且有一个PostgeSQL,其中有两个表:Posts和Comments,这两个表都有两列:Id和Date。Comments还有一个列Parentid,可以将其与相关的帖子相匹配

现在我想显示按最新活动排序的帖子,即根据帖子日期显示,或者如果有与帖子相关的评论,则按最新评论日期显示

以下设置

职位:

Id | Date
=========
1  | 04
2  | 07
3  | 08
评论:

Id | Parentid | Date
====================
1  | 1        | 04
2  | 2        | 07
3  | 1        | 09
。。。应该按照1-3-2的顺序返回帖子:1有最新的活动(评论),然后是3(帖子),然后是2(评论)


是否有任何方法可以通过CodeIgniter的活动记录实现这一点,或者我需要构建一个自定义查询,或者更进一步,手动对它们进行排序?

活动记录按顺序排列。你可以这样使用它

$this->db->order_by('date','asc')

看看这里

对于通过评论或帖子的最新活动,您必须创建一个新的列别名,该别名采用评论或帖子的最新值