1
votes

Is it possible to paginate the parent of a nested eager load?

My three models are:

Event -has many participants

Participant - has many products

Product

Currently, my code looks like...

return Event::with(array('participants.products' => function ($q) {
$q->paginate(100); }))->where('id', $id)->get();

This code does work as it returns my event, the event participants, and those participant's products. The issue I am having is that the paginating seems to be applied to only products. I would like it to be applied to only participants instead. The goal would be to return my event, 100 participants, and then all products for those 100 participants.

Is this possible?

1

1 Answers

4
votes

I believe something like this should work for you.

return Event::with(array('participants' => function($q)
{
    $q->paginate(100);
}, 'participants.products'))->where('id', $id)->get();