У меня есть три модели. Категория, Продукт и вариации. В категории есть много продуктов, и продукт имеет множество вариантов. То, что я пытаюсь сделать, получает категории, у которых есть хотя бы один продукт, который имеет хотя бы один вариант. Я был в состоянии сделать это с помощью этого кода:Laravel/Eloquent Включите отношения, где
$categories = Category::with(['products', 'products.variants'])
->whereHas('products', function($query) {
$query->whereHas('variants', function() {});
})
->get();
Но, и вот сложная часть, я хочу, чтобы исключить продукты, которые не имеют каких-либо изменений. Я не могу это сделать, не исключая всю категорию.
Вкратце. Результирующий набор будет включать только категории, имеющие хотя бы один продукт, который имеет хотя бы один вариант. И набор результатов (суб) результатов будет включать только продукты, имеющие хотя бы один вариант.
Извините, если это трудно понять. Я, честно говоря, не знаю, как говорить такую странную конкретную проблему.