Laravel 5 是否可以在另一个“whereHas”中使用“whereHas”-查询的结果?
我想将一个子查询的结果与另一个子查询(共享相同关系)的结果进行过滤。大概是这样的:Laravel 5 是否可以在另一个“whereHas”中使用“whereHas”-查询的结果?,laravel-5,eloquent,Laravel 5,Eloquent,我想将一个子查询的结果与另一个子查询(共享相同关系)的结果进行过滤。大概是这样的: modelA::whereHas('modelB', function ($query) { $query->select('modelC_id'); }) ->whereHas('modelD', function ($query) { $query->where('field', 'modelC_id') }); 对于本例,假设以下关系: modelA->hasMany(
modelA::whereHas('modelB', function ($query) {
$query->select('modelC_id');
})
->whereHas('modelD', function ($query) {
$query->where('field', 'modelC_id')
});
对于本例,假设以下关系:
- modelA->hasMany('modelB')
- modelA->hasMany('modelD')
- modelB->hasOne('modelC')
- modelD->hasOne('modelC')
where
-查询中使用该字段,但我无法确定如何在结果集中获取modelC\u id
这可能吗?在您的问题中显示DB模式和关系。我试图再解释一点,希望这有助于您找到这个问题的解决方案吗?我正在寻找相同的解决方案我最终使用了一个带有自定义查询的局部作用域(使用querybuilder),因此更多的是一个解决方法,而不是这个问题的答案…显示问题中的DB模式和关系。我尝试了更多的解释,希望这有助于您找到这个问题的解决方案吗?我正在寻找相同的解决方案,我最终使用了一个带有自定义查询的本地范围(使用querybuilder),因此更多的是一个解决方法,而不是这个问题的答案。。。