Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Search 如何搜索嵌套集?_Search_Doctrine_Nested Sets - Fatal编程技术网

Search 如何搜索嵌套集?

Search 如何搜索嵌套集?,search,doctrine,nested-sets,Search,Doctrine,Nested Sets,如何在嵌套集中搜索,并以树状结构恢复过滤后的数据 示例: 根 | 第1类: 子目录1 副2 次级T3 第二类: 子类别1 第2款 我搜索“subc2”。 根 | 第二类: 第2款 这是我的测试台夹具: FokonyviKategoria: fok0: megnevezes: Főkönyvi kategóriák children: fok1: megnevezes: Főkönyvi teszt 1 fok2:

如何在嵌套集中搜索,并以树状结构恢复过滤后的数据

示例:

|
第1类:

  • 子目录1
  • 副2
  • 次级T3 第二类:
  • 子类别1
  • 第2款
我搜索“subc2”。

|
第二类:

  • 第2款
这是我的测试台夹具:

FokonyviKategoria:
  fok0:
    megnevezes: Főkönyvi kategóriák
    children:
      fok1:
        megnevezes: Főkönyvi teszt 1
      fok2:
        megnevezes: Főkönyvi teszt 2
      fok3:
        megnevezes: Főkönyvi teszt 3
        children:
          fok4:
            megnevezes: Főkönyvi teszt 4
          fok5:
            megnevezes: Főkönyvi teszt 5
以及表格定义:

FokonyviKategoria:
  actAs:
    NestedSet:
      hasManyRoots: false
  columns:
    megnevezes: string(255)
  relations:
    Szamlak:
      type: many
      local: id
      foreign: fokonyvi_kategoria_id
      foreignAlias: FokonyviKategoria
这是我的尝试:

     $treeObject = Doctrine_Core::getTable('EszkozKategoria')->getTree();
           $q = Doctrine_Query::create()
                ->select('e.megnevezes')
                ->from('EszkozKategoria e')
                ->where('megnevezes LIKE "%fúró%"');
            $treeObject->setBaseQuery($q);
            $tree = $treeObject->fetchTree();
            $treeObject->resetBaseQuery();
            $query = $treeObject->getBaseQuery();
            $query->setHydrationMode(Doctrine_Core::HYDRATE_ARRAY_HIERARCHY);
            $treeObject->setBaseQuery($query);

            foreach ($tree as $node) {
                //$treeObject2 = Doctrine_Core::getTable('EszkozKategoria')->getTree();
                //$tmp = $treeObject2->fetchBranch($node->id, array('depth' => 3), Doctrine_Core::HYDRATE_ARRAY_HIERARCHY);
                //var_dump($tmp);
                //echo $node->getNode()->getPath(' / ', true) . "\n";
                $a = $node->getNode()->getAncestors();
                var_dump($a);
            }
我想要节点和所有祖先。

我希望:

$listLeaf = FokonyviKategoriaTable::getInstance()->createQuery()
    ->where('level = ?', 2) //all leaf
    ->fetchArray();
$list = array();
foreach ($listLeaf as $id => $node) {
    $list[$node['id']] = $nade['megnevezes'];
    $list['ancestors'] = $node->getNode()->getAncestors();
}
return $list;

您的代码基础是什么?到目前为止你试过什么?你在设置“嵌套集”时有困难吗?还是只想知道如何查询数据库?@drcolosos:我只知道如何在嵌套集中搜索。