我有类别结构(使用Doctrine2的Gedmo嵌套树扩展),例如: https://github.com/Atlantic18/DoctrineExtensions/blob/master/doc/tree.md#tree-entity-example
问题是如何将所有树显示为这样的表:
<table>
<tr>
<td>Category-1 name</td>
<td>Category-1 other data</td>
</tr>
<tr>
<td>Category-2 name</td>
<td>Category-2 other data</td>
</tr>
<tr>
<td><span class="indent">---</span>Subcategory-2-1 name</td>
<td>Subcategory-2-1 other data</td>
</tr>
<tr>
<td><span class="indent">---</span><span class="indent">---</span>Subcategory-2-1-1 name</td>
<td>Subcategory-2-1-1 other data</td>
</tr>
<tr>
<td>Category-3 name</td>
<td>Category-3 other data</td>
</tr>
</table>
换句话说,我需要将树作为1个查询中具有Level param的普通列表。 我找到了一种方法来将列表仅作为数组(getNodesHierarchy),但我需要将它作为一个集合,就像我调用findAll()
答案 0 :(得分:0)
找到解决方案:
class CategoryRepository extends NestedTreeRepository
{
public function getTreeList()
{
return $this->getNodesHierarchyQuery()->getResult();
}
}