0

私はLaravel 4を使用しています:

Eager Loaded Constraint をページ付けしようとしています。基本的に、コメント モデルとhasManyの関係を持つトピック モデルがあります。これはすべて順調で、問題はありません。ただし、管理者の編集トピック ビューにコメント (数百ある) のページ分割されたテーブルを表示できるようにしたいと考えています。これを行うには、次のコードを使用すると思いました。

$topic = Topics::with( array( 'comments' => function($query)
    {
        $query->orderby('created_at', 'DESC');
        $query->paginate(10);
    } ) )
->where('id', $id)
->first();

これで正しいオブジェクトが提供さ$topicれ、検査$topic->commentsすると正しいリンクされたコメントがあり、結果が 10 個に制限されていることがわかります。ページネーションも page パラメーターに応答してページネーションされGETますが、エコーしようとする$topic->comments->links()とメソッドが見つからないというエラーが発生します。

これに対する私の回避策は、添付されたコメントをカウントする2番目のクエリを作成し、私のビューで次を使用することです:

$paginator = Paginator::make($topic->comments->toarray(), $commentCount, 10);
echo $paginator->appends(array('tab' => 'comments'))->links();

これはバグですか?

4

1 に答える 1