laravel elequent - 预加载 - 使用之前的条件加载 table

laravel elequent - eager loading - load using condition from previous table

我正在尝试使用代码中所示的关系:

$lesson = Lesson::with(['teacher.teacherLessons' => function($teacherLesson){
    $teacherLesson->whereHas('category.courses', function($course){ 
        $course->where('id', DB::raw('`lessons`.`course_id`'));
    });
}]);

我想使用由主查询原始加载的相同 ID,而不是使用 DB::raw, 如何获得?

whereColumn/orWhereColumn 方法就是针对这种情况。

The whereColumn method may be used to verify that two columns are equal:

$course->whereColumn('id', 'lessons.course_id');