如果我没有在谷歌做足够的研究,我想道歉但是说实话我不确切知道要搜索什么。我的问题是与学说。我使用Symfony框架,我想在DQL中编写以下原始查询:
SELECT c.id AS id,
c.name AS name,
c.active AS active,
count(c2.id) AS depth,
(c.rht - c.lft) as rng
FROM (categories c
LEFT JOIN categories c2 ON ( (c2.lft < c.lft) AND (c2.rht > c.rht) AND c2.active ) )
GROUP by c.id
ORDER by c.lft ASC
我可以像原始查询一样编写它,但我需要在DQL中使用它,因为我想将它用于sfWidgetFormDoctrineChoice小部件。任何帮助都非常感谢。
提前致谢!
答案 0 :(得分:3)
可能的方法是:
$query = Doctrine_Query::create()
->select('c.name AS name,
c.active AS active,
count(c2.id) AS depth,
(c.rht - c.lft) as rng')
->from('categories c')
->leftJoin('c.Categories c2 ON ( (c2.lft < c.lft) AND (c2.rht > c.rht) AND c2.active')
->groupBy('c.id')
->orderBy('c.lft ASC');
但我认为你错了。你看看了学说的树行为吗? http://www.doctrine-project.org/documentation/manual/1_0/nl/hierarchical-data#nested-set:advanced-usage:fetching-a-tree-with-relations