gpt4 book ai didi

Eloquent 在子查询中使用父字段

转载 作者:行者123 更新时间:2023-12-02 01:08:55 25 4
gpt4 key购买 nike

如何访问第一个查询中的“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');

});

}]);

}]);

我使用的是 lumen 5.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);
}]);
}]);

关于Eloquent 在子查询中使用父字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46117449/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com