Я использую дерево вложенных множеств в моем приложении.фильтр doctrine вложенный набор дерева иерархия детей
я могу легко извлечь все дерево с помощью
$repo->childrenHierarchy(
null, /* starting from root nodes */
false, /* false: load all children, true: only direct */
$options
)
То, что я хочу, хотя это фильтровать объекты этого дерева в соответствии с внешним ключом (категории принадлежат пользователям, так каждая категория имеет USERID)
к сожалению, вариант, который принимает обратный вызов для фильтрации на узле не позволяет фильтрации внешнего ключа, значение внешних ключей не входит в массиве узлов:
$options = array(
'decorate' => true,
'rootOpen' => '<ul>',
'rootClose' => '</ul>',
'childOpen' => function ($node) use($user) {
// $node does not contain any foreign key
if ($node['userId'] != $user->getId()) {
return null;
}
return "<li id='".$node['id']."'>";
},
'childClose' => '</li>',
);
Как я могу решить эту проблему?