Doctrine 2树扩展:闭包表

4

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

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

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

我将感激您的答案。

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')
    ));

谢谢!它有效了!我为每个用户添加了主根目录,现在没问题了。 - Olga Budnik

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接