我有db表以这种方式相互关联: 用户 - 主要目标 - 子目标 - 预算。
用户有一个MainGoal
MainGoal有很多子目标
SubGoal有很多预算
预算表的列为user_id。
所以我的查询构建器看起来像这样:
User::with('Maingoal.Subgoals.Budgets');
最终,我获得了每个Subgoal的预算。但是,我希望获得确切用户的预算,特别是来自第一个查询结果的用户( User :: with ....)。 可能吗?你觉得怎么样?
感谢您的回答!
答案 0 :(得分:0)
为了让你以急切的负荷提供条件,你可以这样做
User::with(['Maingoal.Subgoals.Budgets' => function($q) use ($id) {
return $q->where('user_id', $id);
}])->get();
其中$ id是该特定用户的ID