我正在使用树 - 嵌套集行为扩展来表示原则 2 和闭包表策略。在我的 Web 上,用户可以创建文件夹和子文件夹并查看它们。我通过使用闭包表策略实现了这一点,并使用 childrenHierarchy() 方法渲染文件夹:
$directoryTree = $repository->childrenHierarchy(
null,
true,
array(
'decorate' => false,
'childSort' => array('field' => 'directory_name', 'dir' => 'asc')
));
它工作正常,但它返回所有用户的所有文件夹,在这种情况下我不知道如何定义user_id仅呈现属于登录用户的文件夹。有什么办法可以做到这一点吗?
我会很高兴你的回答。
从文档中:
kidsHierarchy:这个有用的方法允许您构建一个数组 表示树的层次结构的节点。参数:节点:如果你 传递一个节点,该方法将返回其子节点。默认为"空" (这意味着它将返回所有节点)。
会是这样的:
// example,
$loggedInUserFolder = SOME_METHOD_RETURNS_USER_FOLDER($this->getUser());
$directoryTree = $repository->childrenHierarchy(
$loggedInUserFolder,
true,
array(
'decorate' => false,
'childSort' => array('field' => 'directory_name', 'dir' => 'asc')
));