Laravel。嵌套关系。来自外部查询的条件

时间:2017-03-17 08:50:30

标签: laravel laravel-5

我有db表以这种方式相互关联: 用户 - 主要目标 - 子目标 - 预算

用户有一个MainGoal

MainGoal有很多子目标

SubGoal有很多预算

预算表的列为user_id。

所以我的查询构建器看起来像这样:

User::with('Maingoal.Subgoals.Budgets');

最终,我获得了每个Subgoal的预算。但是,我希望获得确切用户的预算,特别是来自第一个查询结果的用户( User :: with ....)。 可能吗?你觉得怎么样?

感谢您的回答!

1 个答案:

答案 0 :(得分:0)

为了让你以急切的负荷提供条件,你可以这样做

User::with(['Maingoal.Subgoals.Budgets' => function($q) use ($id) {
    return $q->where('user_id', $id);
}])->get();

其中$ id是该特定用户的ID