我有一个包含不同类型作业的表。结构如下:
id
job_id
rev
[other fields]
因此,每次编辑作业时,都会向数据库中添加一行新行,它有一个唯一的id,job_id与上次相同(因为作业相同,但刚刚编辑),版本号更大(1->2)。
现在我想在一个表中显示这些作业,我想获取数据,以便显示其与job_id和最新修订版的分组。
示例:
1 53kjA7 1 This is a job
2 Adf98A 1 Another job
3 53kjA7 2 This is a job edited
4 8123Ag 1 More jobs
5 Adf98A 2 Another job edited
表格显示:
3 53kjA7 2 This is a job edited
5 Adf98A 2 Another job edited
4 8123Ag 1 More jobs
我使用代码点火器和它内置的活动记录,我试过这样做:
$this->db->select()->from('jobs')->group_by('job_id')->select_max('rev');
但结果是一个表,显示了具有最新修订号的分组作业,但所有其他信息都来自同一组中的另一个作业,如下所示:
1 53kjA7 2 This is a job
2 Adf98A 2 Another job
4 8123Ag 1 More jobs
有没有一种方法可以对活动记录执行此操作,或者我需要制作一个自定义SQL字符串?
几个想法。在另一张表中,您的联接是什么样子的(我怀疑联接可能已关闭)?可能需要order_by才能获得最新修订。