Doctrine2嵌套将渲染设置为具有缩进的表

时间:2014-06-18 12:37:28

标签: doctrine-orm nested-sets doctrine-extensions

我有类别结构(使用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()

1 个答案:

答案 0 :(得分:0)

找到解决方案:

class CategoryRepository extends NestedTreeRepository
{
    public function getTreeList()
    {
        return $this->getNodesHierarchyQuery()->getResult();
    }
}