【发布时间】:2011-05-12 14:02:56
【问题描述】:
我有一个 Doctrine 1.2 项目,我正在重构该项目,以便使用具有多个根的原则行为 NestedSet 为表提供树结构。
我需要的是从祖先到后代的继承(不是 OO 常识),其中后代从缺少自己的属性的最近祖先那里继承属性。关系也会发生同样的事情。
让我用一个例子来解释:
Category:
actAs:
NestedSet:
hasManyRoots: true
rootColumnName: root_id
columns:
name: string(50)
another_property: string(50)
active: boolean
Tag:
columns:
value: string(50)
CategoryTag:
columns:
category_id: integer
tag_id: integer
我要执行的是:
- 检索某个类别是否处于活动状态,这意味着验证是否所有 祖先很活跃
- 如果给定类别缺少另一个属性,则继承自 存在的最近的祖先
- 检索给定类别的标签;如果标签丢失,检索它们 来自最近的祖先
为了最大限度地提高速度和灵活性,您认为最好的方法是什么?
【问题讨论】:
标签: php symfony1 doctrine nested-sets hierarchical-trees