Doctrine 2 树扩展:闭包 Table

Doctrine 2 Tree Extension: Closure Table

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

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

它工作正常,但它 returns 所有用户的所有文件夹,我不知道如何定义 user_id 在这种情况下呈现只有属于登录用户的文件夹。有什么办法吗?

很高兴得到你的回答。

来自doc

childrenHierarchy: This useful method allows you to build an array of nodes representing the hierarchy of a tree. Arguments: node: If you pass a node, the method will return its children. Defaults to "null" (this means it will return ALL nodes).

会是这样的:

// example, 
$loggedInUserFolder = SOME_METHOD_RETURNS_USER_FOLDER($this->getUser());
$directoryTree = $repository->childrenHierarchy(
            $loggedInUserFolder,  
            true,  
            array(
        'decorate' => false,
        'childSort' => array('field' => 'directory_name', 'dir' => 'asc')
    ));