首页 > 解决方案 > Laravel Eloquent 来自 1-many table group by child table column 的最新项目

问题描述

我正在使用带有 Mysql 8 strict=true sql 模式的 Laravel 8。我有2个表如下:

exam_results
    id, result_date

examresult_revisions
   id, examresult_id, result_part_id, revision_id, created_at, updated_at ... 

这是模型关系

class Examresult extends Model
{
    public function revisions()
    {
        return $this->hasMany(ExamresultRevision::class);
    }
}

换句话说,我们可以说每个考试成绩都有不同的部分,result_part_id=1,result_part_id=2 等等,每个部分可能有一个或多个修订。

我想通过 result_part_id 获取每个 ExamResult 组的最新 ExamresultRevision 记录。

我怎样才能做到这一点?

标签: phpeloquentlaravel-8mysql-8.0

解决方案


推荐阅读