如果我没有在谷歌上做足够的研究,我想道歉,但老实说,我不知道到底要搜索什么。我的问题是Doctrine。我使用Symfony框架,我想在DQL中编写以下原始查询:SELECTc.idASid,c.nameASname,c.activeASactive,count(c2.id)ASdepth,(c.rht-c.lft)asrngFROM(categoriescLEFTJOINcategoriesc2ON((c2.lftc.rht)ANDc2.active))GROUPbyc.idORDERbyc.lftASC我可以像原始查询一样编写它,但我需要在DQL中使用它,因为我想将它用于sfWid
我正在尝试为网站(PHP/MySQL)创建一个评论部分,用户可以在其中发表评论或回复已发布的。我了解到这有点棘手,因为诸如MySQL之类的RDBMS并不是真正为存储分层数据而创建的。我找到了4种解决方案(邻接表、路径枚举、嵌套集和闭包表)其中我选择了嵌套集(修改后的预序树遍历)。我已经成功地完成了对根评论和他们的回复进行提取和排序的工作但我似乎无法找到一种方法来按点(其他列)对评论进行排序而不中断父>子链接。想象一下这样的表格:+-------------------------------+|id|comment|lft|rgt|pts|+----------------------
我有一个应用程序需要更新层次结构中的节点,从ID已知的特定节点向上。我使用以下MySQL语句来执行此操作:updatenodeasAjoinnodeasBonA.lft=B.rgtsetA.count=A.count+1whereB.id=?该表在id上有一个主键,在lft和rgt上有索引。该语句有效,但我发现它存在性能问题。查看相应select语句的EXPLAIN结果,发现“B”表检查的行数非常多(可能是整张表)。我可以轻松地将查询分成两个单独的查询:selectlft,rgtfromnodewhereid=?LFT=result.lftRGT=result.rgtupdatenod