【问题标题】:How to most efficiently group these products?如何最有效地对这些产品进行分组?
【发布时间】:2009-07-21 23:14:14
【问题描述】:

我有两个描述数据库中产品的属性数组:

$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

【问题讨论】:

    标签: php mysql arrays


    【解决方案1】:

    嗯,实际最有效的方法是不要在应用程序代码中包含所有这些“产品属性”,而是将它们也包含在数据库中。

    那么,这只是一个在查询中将您的表连接在一起的问题。

    我很好奇,你的数据模型现在是什么样子的?您当前如何实际存储尺寸/颜色/任何信息?

    【讨论】:

    • 我有以下数据库表:“产品”、“产品属性”和“产品属性选项”。这些属性是从数据库中提取到上面的数组中的。
    • 是的,但是您如何存储Product 与其各自属性之间的关系
    猜你喜欢
    • 1970-01-01
    • 2020-06-26
    • 1970-01-01
    • 2014-10-13
    • 1970-01-01
    • 1970-01-01
    • 2012-04-22
    • 1970-01-01
    • 2015-08-22
    相关资源
    最近更新 更多