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');
我正在尝试使用代码中所示的关系:
$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');