Код: Выделить всё
$products = $query->where(['category.id' => $id])
->joinWith('products')
->asArray()
->offset($pages->offset)
->limit($pages->limit)
->all();
Код: Выделить всё
SELECT `category`.*, FROM `category` LEFT JOIN `category_product` ON `category`.`id` = `category_product`.`category_id` LEFT JOIN `product` ON `category_product`.`product_id` = `product`.`id` WHERE `category`.`id`='8'
Код: Выделить всё
SELECT `category`.*, `product`.* FROM `category` LEFT JOIN `category_product` ON `category`.`id` = `category_product`.`category_id` LEFT JOIN `product` ON `category_product`.`product_id` = `product`.`id` WHERE `category`.`id`='8'
Сейчас результат выглядит вот так
Код: Выделить всё
Array
(
[0] => Array
(
[id] => 8
[name] => Фантастика
[products] => Array
(
[0] => Array
(
[id] => 7
[provider_id] => 2
[name] => Тёмная башня
[price] => 3
[img] => 7.jpg
)
[1] => Array
(
[id] => 13
[provider_id] => 3
[name] => Бегущий по лезвию 2049 (2017)
[price] => 20
[img] => 13.jpg
)
[2] => Array
(
[id] => 15
[provider_id] => 3
[name] => Кинг Конг: Остров черепа
[price] => 16
[img] => 15.jpg
)
[3] => Array
(
[id] => 17
[provider_id] => 3
[name] => Я - легенда
[price] => 15
[img] => 17.jpg
)
)
)
)
Код: Выделить всё
Array
(
[0] => Array
(
[id] => 7
[provider_id] => 2
[name] => Тёмная башня
[price] => 3
[img] => 7.jpg
[category_id] => 8
[name] => Фантастика
)
[1] => Array
(
[id] => 13
[provider_id] => 3
[name] => Бегущий по лезвию 2049 (2017)
[price] => 20
[img] => 13.jpg
[category_id] => 8
[name] => Фантастика
)
[2] => Array
(
[id] => 15
[provider_id] => 3
[name] => Кинг Конг: Остров черепа
[price] => 16
[img] => 15.jpg
[category_id] => 8
[name] => Фантастика
)
[3] => Array
(
[id] => 17
[provider_id] => 3
[name] => Я - легенда
[price] => 15
[img] => 17.jpg
[category_id] => 8
[name] => Фантастика
)
)