我如何访问' id'第一个查询中的字段,并在此示例中的第二个子查询中使用它:
$users = \App\User::where('active', 1)->where('deleted_at', null)->where('recieve_jobagent', 1)
->with(['companies' => function($query){
$query->where('active', 1);
$query->with(['posts' => function($posts){
$posts->where('active', 1);
$posts->whereHas('users', function($postUsers){
**I do not have access to 'users.id' here**
$postUsers->where('user_id', 'users.id');
});
}]);
}]);
我使用流明5.1。
我的目标是让所有用户及其相关公司以及公司'与用户无关的帖子。
答案 0 :(得分:1)
我认为您不需要这样做。您可以使用whereHas
并通过深入关系来只返回属于您要查询的事物的关系。
在没有看到您的关系结构的情况下,我认为您需要这样的东西吗?
$users = \App\User::where('active', 1)->where('deleted_at', null)->where('recieve_jobagent', 1)
->whereHas('companies', function($query){
$query->where('active', 1)
->whereHas('posts', function($query){
where('active', 1);
})
})
->with(['companies' => function($query){
$query->where('active', 1);
$query->with(['posts' => function($posts){
$posts->where('active', 1);
}]);
}]);