ZF2从递归函数返回正确顺序的对象

时间:2016-07-01 14:11:45

标签: php zend-framework2

嘿伙计们,我需要你的帮助!

我正在尝试使用Zend Framework 2完成一个递归函数来检索包含其回复的文章的所有注释。下面的图片应该澄清我想要做的事情:

enter image description here

在我的情况下,对图片的第一条评论有一个父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的推荐。

我希望有人可以帮助我获得正确的订单! :)

0 个答案:

没有答案