2009-07-21 6 views
0

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

$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 

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

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

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

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

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

Тогда просто вопрос о соединении таблиц вместе в запросе.

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

+0

У меня есть следующие таблицы базы данных: «Продукты», «Атрибуты продукта» и «Параметры атрибута продукта». Эти атрибуты вытащили из базы данных в массив, который выше. –

+0

Да, но как вы храните связь между «Продуктом» и его соответствующими атрибутами –

Смежные вопросы