私は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();
これはバグですか?