opencart 中存在 oc_category_path 表的要求是什么?

Rak*_*esh 4 path categories opencart

我无法理解在 opencart 中有 category_path 表的概念。这里的任何 opencart 专家都可以用一个场景/例子来解释吗?

bil*_*oah 7

category_path表存储与类别层次结构相关的数据。例如,假设您有 category_id 为 7 的顶级类别“Shoes”。“Shoes”有一个名为“Gators”的子类别,category_id 为 11。在管理面板中,您会看到如下内容:

Shoes > Gators
Run Code Online (Sandbox Code Playgroud)

category_path表将有如下行:

+-------------+---------+-------+
| category_id | path_id | level |
+-------------+---------+-------+
|          11 |       7 |     0 |
|          11 |      11 |     1 |
+-------------+---------+-------+
Run Code Online (Sandbox Code Playgroud)

path_id 等于 category_id 的行告诉您该类别的深度级别。其他行显示它的父母和他们各自的级别。

  • 由于`category`表本身存储了类别的`parent_id`,并且可以计算层次结构,所以`category_path`表的目的似乎是为了性能优化。这种模式称为闭包表,它允许在单个 SQL 查询中获取提到的层次结构,而不是在循环中运行多个查询或使用带有连接的大量查询。 (3认同)