Как наиболее эффективно сгруппировать эти продукты? - PullRequest
0 голосов
/ 22 июля 2009

У меня есть два массива атрибутов, которые описывают продукты в базе данных:

$sizes =   array(
                'Shirt Size' => array('Small', 'Medium', 'Large'),
                'Sleeve Size' => array('Short', 'Long')
                ); // Level 1
$colors =  array(
                'Shirt Color' => array('Black', 'Red'),
                'Sleeve Color' => array('White', 'Orange')
                ); // Level 2

Содержимое этих массивов часто меняется, и в некоторых точках "цвета" или "размеры" могут быть пустыми.

Как наиболее эффективно сгруппировать эти атрибуты, чтобы я мог видеть (например) все продукты Small & Short, Black & Orange? Я не так озабочен вычислением количества каждой комбинации атрибутов, как я занимаюсь созданием механизма группировки атрибутов.

Я бы хотел закончить с такой таблицей:

SHIRT SIZE    SLEEVE SIZE    SHIRT COLOR    SLEEVE COLOR    QTY
Small         Short          Black          White           6
Small         Short          Black          Orange          1
Small         Short          Red            White           4
Small         Short          Red            Orange          2
Small         Long           Black          White           3
Small         Long           Black          Orange          2
...
Large         Long           Red            Orange          5

1 Ответ

1 голос
/ 22 июля 2009

Ну, фактический самый эффективный способ состоит в том, чтобы не иметь все эти «атрибуты продукта» в коде приложения, но также иметь их в базе данных.

Тогда это просто вопрос объединения ваших таблиц в запросе.

Мне любопытно, как теперь выглядит ваша модель данных? Как вы на самом деле храните размер / цвет / любую информацию в настоящее время?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...