4

我正在为 Doctrine 2 和 Closure Table Strategy 使用 Tree - Nestedset 行为扩展。在我的网站上,用户可以创建文件夹和子文件夹并查看它们。我通过使用 Closure Table 策略实现了这一点,并使用childrenHierarchy()方法渲染文件夹:

       $directoryTree = $repository->childrenHierarchy(
            null,  
            true,  
            array(
        'decorate' => false,
        'childSort' => array('field' => 'directory_name', 'dir' => 'asc')
    ));

它工作正常,但它返回所有用户的所有文件夹,我不知道在这种情况下如何定义user_id以仅呈现属于登录用户的文件夹。有没有办法做到这一点?

我会很高兴你的回答。

4

1 回答 1

3

文档

childrenHierarchy:这个有用的方法允许您构建一个表示树的层次结构的节点数组。参数: node:如果传递一个节点,该方法将返回其子节点。默认为“null”(这意味着它将返回所有节点)

会是这样的:

// example, 
$loggedInUserFolder = SOME_METHOD_RETURNS_USER_FOLDER($this->getUser());
$directoryTree = $repository->childrenHierarchy(
            $loggedInUserFolder,  
            true,  
            array(
        'decorate' => false,
        'childSort' => array('field' => 'directory_name', 'dir' => 'asc')
    ));
于 2015-05-01T04:41:07.293 回答