$root = AnimeCommentQuery::create()->findRoot(2);
$html = "<ul>{$root->getComment()}";
foreach ($root->getDescendants() as $post)
{
$html .= '<li style="padding-left: '.$post->getLevel().' em;">';
$html .= $post->getComment();
$html .= ' by '.$post->getIbfMembersRelatedByInsertBy()->getName();
$html .= "</li>";
}
$html .= "</ul>";
echo $html;
我想对帖子进行分页,但我无法通过以下方式执行此操作:
$root = AnimeCommentQuery::create()->findRoot(2)->paginate(2, 1);
OR
$root = AnimeCommentQuery::create()->paginate(2, 1)->findRoot(2);
可以用推进标准分页来完成吗?怎么样?
答案 0 :(得分:0)
不知道这是否为时已晚......
首先,您不能使用paginate并在同一查询中查找,它们都是终止方法。
我认为你需要的是这样的:
$comments = AnimeCommentQuery::create()->inTree(2)->orderByBranch()->paginate(2,1);
然后foreach
通过Collection
。{/ p>
现在你必须要有点聪明,何时关闭和打开列表,检查当前的等级等。第2页以上的顶部和底部也需要考虑一下。祝你好运!
嵌套集API值得进一步研究http://www.propelorm.org/behaviors/nested-set.html#complete_api,得到了相当多的支持。
另请考虑使用->joinWith()
在主查询中预先填充getIbfMembersRelatedByInsertBy()
。