cakephp 3, найти все товары детей из списка категорий

Я разрабатываю простой интернет-магазин, где у меня есть список категорий, который имеет много связей с категориями.

+topcategory
 -subcategory 1
 -subcategory 2
....

Когда я нажимаю на верхнюю категорию, я хочу получать также все товары из подкатегорий.

Как этого добиться в CakePHP 3?

Я использую это для поиска продуктов на данный момент:

$products = $this->paginate($this->Products->find('threaded')
    ->where([
        'Categories.slug' => $slug
    ])
);

1 ответ

Дополнительные ассоциации могут быть загружены в разбитую на страницы таблицу с помощью contain параметр:

$this->paginate['contain'] = [
    'Categories' => function (\Cake\ORM\Query $query) use ($slug) {
        return $query->where(['Categories.slug' => $slug]);
    }
];

$products = $this->paginate($this->Products);

Смотрите также

Другие вопросы по тегам