ネストされたセットを 1 つの db クエリでフェッチする方法を探しています。
schema.yml
Category:
actAs:
NestedSet:
hasManyRoots: true
rootColumnName: root_id
columns:
name: string(255)
$categories = Doctrine::getTable('Category')->getTree();
//SELECT * FROM category c ORDER BY c.root_id asc, c.lft asc
foreach ($categories as $cat)
{
$cat->getNode();
//SELECT * FROM category c WHERE ((c.lft > '1' AND c.rgt < '8') AND c.root_id = '1') ORDER BY c.lft asc
}
したがって、合計でカテゴリと同じ数のクエリを取得しますが、これは悪いことです。何か案は?