【发布时间】:2016-04-09 13:10:26
【问题描述】:
正如标题所示,我想为我正在开发的网上商店创建产品类别和子类别列表。假设有一个名为 Apparel{parent category} => 鞋类、鞋类..等 {child category} 的类别,并且鞋类将包含所有鞋类产品。 我该如何实施?即我是否应该将所有主要类别放在一张表下。然后每一行都会引用另一个表?
【问题讨论】:
-
使用现有的商业库编写自己的?你知道'category' -> subCategory' 是
recursive关系而不是'线性' 关系吗? imo,您的数据结构应该反映这一点。即不要将自己限制在两个层次上。有人会想要三个或更多级别。 ;-/ imo,一开始就将其构建到数据结构中。您不必使用它,但可以在以后扩展它而无需丢弃您的数据结构并重新开始。 imo,值得看看一些已经这样做的开源库。 -
@RyanVincent 我正在从头开始编写代码。顺便说一句,它是我关心的递归关系。
-
如果您决定拥有一个包含单独子类别的类别表,这取决于您。秋千和回旋处。不管 - 子类别表必须有一列保存其子类别的 id。您可以使用它来指示它有更多的子类别。编码:首先,当你解决它时——保持它非常简单。因此,您最终可能会执行比您喜欢的更多的查询。任何。 imo,总是从简单有效的事情开始。 ;-/ 你可以稍后重构它。 imo,对于大树,请查看“嵌套集”,但稍后 - 不是现在。
-
如果你想要一些'php / mysqli'代码来遍历树,那么这可能值得一看? stackoverflow.com/a/29838522/3184785。我将重新发布它所需的代码。
-
我同意 - 自己编写查询是值得的 - 这是了解正在发生的事情的最佳方式。我真的只是指出,如果它变得“尴尬”,有人会提供帮助:)