А
Size: a a a
А
А
А
EW
id, title, parent_id
1, "Категория 1", NULL
2, "Категория 2", NULL
3, "Категория 1-1", 1
4, "Категория 1-2", 1
Есть некоторые товары, выглядят примерно так:id, title, category_id
1, "Товар 1", 3
2, "Товар 2", 3
3, "Товар 3", 3
(т.е. все товары принадлежат к категории "Категория 1-1")function nested()
— вложенные (дочерние) категорииfunction products()
— товары относящиеся к данной категорииCategory::whereHas('nested', function($query) {
$query->whereHas('products', function ($query) {
// Тут не понятно что писать в данном случае. Как указать условие "количество > 0"?
});
});
Category::whereHas('nested', function($query) {
$query->has('products', '>', 0); // А так не работает, выбирает всё равно все категории
});
Подскажите пожалуйста, как это правильно реализовать?WW
id, title, parent_id
1, "Категория 1", NULL
2, "Категория 2", NULL
3, "Категория 1-1", 1
4, "Категория 1-2", 1
Есть некоторые товары, выглядят примерно так:id, title, category_id
1, "Товар 1", 3
2, "Товар 2", 3
3, "Товар 3", 3
(т.е. все товары принадлежат к категории "Категория 1-1")function nested()
— вложенные (дочерние) категорииfunction products()
— товары относящиеся к данной категорииCategory::whereHas('nested', function($query) {
$query->whereHas('products', function ($query) {
// Тут не понятно что писать в данном случае. Как указать условие "количество > 0"?
});
});
Category::whereHas('nested', function($query) {
$query->has('products', '>', 0); // А так не работает, выбирает всё равно все категории
});
Подскажите пожалуйста, как это правильно реализовать?EW
D
id, title, parent_id
1, "Категория 1", NULL
2, "Категория 2", NULL
3, "Категория 1-1", 1
4, "Категория 1-2", 1
Есть некоторые товары, выглядят примерно так:id, title, category_id
1, "Товар 1", 3
2, "Товар 2", 3
3, "Товар 3", 3
(т.е. все товары принадлежат к категории "Категория 1-1")function nested()
— вложенные (дочерние) категорииfunction products()
— товары относящиеся к данной категорииCategory::whereHas('nested', function($query) {
$query->whereHas('products', function ($query) {
// Тут не понятно что писать в данном случае. Как указать условие "количество > 0"?
});
});
Category::whereHas('nested', function($query) {
$query->has('products', '>', 0); // А так не работает, выбирает всё равно все категории
});
Подскажите пожалуйста, как это правильно реализовать?B
Nested has statements may also be constructed using "dot" notation. For example, you may retrieve all posts that have at least one comment and vote:
// Retrieve posts that have at least one comment with votes...
$posts = App\Post::has('comments.votes')->get();
NL
SC
NL
NL
SC
EW
Category::has('nested.products', '>', 0)->get();
— попробовал так и условие > 0
— тоже убирал. Проблема в том, что категории верхнего уровня он выбирает вроде бы верно, а вот категории нижнего уровня, он выбирает почему-то все, в т.ч. и те, в которых товаров нет.B
proxy_set_header X-Real-IP $remote_addr;
NL
NL
NL
AK
А