dredder
Кэп
Делаю маленький каталожек товаров. Там у меня у каждого товара есть слайдер с несколькими изображениями. Т.е. к одному товару относится сразу несколько изображений. Я создал таблицу с параметрами товара:
И таблицу с ссылками на изображения к каждому товару. Тут good_id это id товара из
doob.goods, а link это соответствующая ссылка на изображение
Затем я сделал вот такую процедуру для сбора данных из категории:
Теперь мне нужно всё складывать в один массив $data, чтобы потом этот массив разбирать уже в шаблоне. А я не могу сообразить, как собрать в один запрос как основные данные: name, description, price так и все картинки, относящиеся к этому товару.
Если обращаться к таблице с изображениями в отдельной процедуре, то придётся как-то вытаскивать good_id нужного товара, а потом ещё и скреплять это всё с остальным массивом.
Не подскажите, дорогие знатоки, как можно это сделать попроще?
Код:
CREATE TABLE doob.goods (
id int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
id_category varchar(255) NOT NULL,
name varchar(50) DEFAULT NULL,
description varchar(255) DEFAULT NULL,
price decimal(19, 2) DEFAULT 0.00,
PRIMARY KEY (id)
)
ENGINE = INNODB
AUTO_INCREMENT = 6
AVG_ROW_LENGTH = 3276
CHARACTER SET utf8
COLLATE utf8_general_ci
ROW_FORMAT = DYNAMIC;
doob.goods, а link это соответствующая ссылка на изображение
Код:
CREATE TABLE doob.images (
good_id int(10) UNSIGNED DEFAULT NULL,
link varchar(255) DEFAULT NULL,
)
ENGINE = INNODB
AVG_ROW_LENGTH = 4096
CHARACTER SET utf8
COLLATE utf8_general_ci
ROW_FORMAT = DYNAMIC;
Код:
PROCEDURE doob.catalog_get_products_in_category(IN inCategoryId int)
BEGIN
SELECT g.id, g.name, g.description, g.price FROM goods g
INNER JOIN category c
ON g.id_category = c.id
WHERE c.id = inCategoryId
ORDER BY g.id DESC;
END
Если обращаться к таблице с изображениями в отдельной процедуре, то придётся как-то вытаскивать good_id нужного товара, а потом ещё и скреплять это всё с остальным массивом.
Не подскажите, дорогие знатоки, как можно это сделать попроще?