$filteredProducts = $category->products()->whereHas('attrValues', function ($query)
use ($filteredAttrValues) {
$query->whereIn('attribute_value_id', $filteredAttrValues);
})->where(function ($subQuery) use ($filteredColors) {
$subQuery->whereHas('withColorVariation', function ($query) use ($filteredColors) {
$query->WhereIn('color_id', $filteredColors);
});
})->paginate(2);
我有这部分代码用于过滤产品。我有两个关系过滤器。这是在哪里使用多个的好方法吗? 这部分代码仅在$ filteredColors和$ filteredAttrValues不为空的情况下有效。我也尝试过以这种方式使用它,但仍然无法正常工作:
$query->whereNull('attribute_value_id')
->OrwhereIn('attribute_value_id', $filteredAttrValues);