如何在 Laravel 中预加载 3 个不同的关系?

How can I eager load on 3 different relationships in Laravel?

我有 4 个表:useruser_courseclassesqueues

user_course 有一个 user_idclasses 有一个 user_course_idqueues 有一个 classes_id 列。

我想检索具有 class_id 且对应于当前 user_id 注册的 user_course 的所有队列。

基本上,我想做的是:$user->user_course->classes->queues

除非我不能直接循环上面的内容。

所以我怎么能用 $classes = App\Classes::with('Queues') 之类的东西来加载它,除了将它限制为当前登录的 user_id

我不熟悉预加载,无法正常工作。如果我需要编辑问题详情,请通知我。

您可以使用:

$user = User::with('user_course.classes.queues')->find($idOfUser);

首先运行查询获取用户课程,然后运行查询获取用户课程类然后运行查询获取队列共 类.