嘿伙计们,我需要你的帮助!
我正在尝试使用Zend Framework 2完成一个递归函数来检索包含其回复的文章的所有注释。下面的图片应该澄清我想要做的事情:
在我的情况下,对图片的第一条评论有一个父id = null和一条评论id = 1,而第一个回复的父id = 1,评论id = 3.第二条评论有评论id = 2。
我的递归函数返回所选文章的所有注释,但不是正确的顺序。所以我得到的评论就像它们被保存在数据库中一样:评论id = 1,然后是2,3等等,但我需要得到它们:评论id = 1,然后是3,然后是4然后2.这是我的递归函数:
$select = $this->getSql()->select();
$select->where->equalTo("url", $url);
($recomment === null) ? $select->where->isNull("recomment") : $select->where->equalTo("recomment", $recomment);
$select->where->equalTo("status", "approved");
$select->order("cdate ASC");
$result = $this->selectWith($select);
foreach($result as $comment) {
self::fetchListByUrl($comment->getUrl(), $comment->getId());
}
return $this->select($select);
url参数应该引用文章和对父ID的推荐。
我希望有人可以帮助我获得正确的订单! :)