1
我如何搜索嵌套集,並恢復樹結構中的過濾數據?如何搜索一個Doctrine NestedSet?
示例:
根
|
CAT1:
- subcat1
- subcat2
- subcat3 CAT2:
- subcateg1
- subc2
我搜索 'subc2'。
root
|
CAT2:
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
這我嘗試
- subc2
這是我爲測試表夾具:
$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);
}
我想節點和所有的祖先。
什麼是你的代碼基礎是什麼?你試過什麼了?您在設置「嵌套集」時遇到困難,或者只想知道如何查詢數據庫? – DrColossos 2010-12-12 15:03:46
@DrColossos:我只有如何在嵌套集合中搜索纔有問題。 – turbod 2010-12-13 13:38:48