0
$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);

また

$root = AnimeCommentQuery::create()->paginate(2, 1)->findRoot(2);

propel の標準的なページネーションで実行できますか? そしてどうやって?

4

1 に答える 1

0

これが遅すぎるかどうかはわかりません....

まず、同じクエリで paginate と find を使用することはできません。どちらも終了方法です。

必要なものは次のようなものだと思います:

$comments = AnimeCommentQuery::create()->inTree(2)->orderByBranch()->paginate(2,1);

それからforeachあなたの道Collection

ここで、リストをいつ閉じて開くか、現在のレベルを確認するなど、少し賢くする必要があります。また、ページ 2+ の上部と下部も少し考慮する必要があります。幸運を!

Nested Set API はhttp://www.propelorm.org/behaviors/nested-set.html#complete_apiをさらに研究する価値があります。

また、 aを使用して、メイン クエリに事前入力された->joinWith()ものを取得することも検討してください。getIbfMembersRelatedByInsertBy()

于 2012-06-08T11:25:50.520 に答える