Laravel Eloquent пропустить n, взять все?

Я заметил, что в Laravel, когда вы связываете skip() вы также должны использовать take() . Я хочу пропустить первые n строк, но остальное. Метод take позволяет только целые числа, как я могу это сделать, не прибегая к хакерскому трюку, например, указывая большое количество для принятия?

Solutions Collecting From Web of "Laravel Eloquent пропустить n, взять все?"

В принципе, с каждым OFFSET для работы mysql должен быть предоставлен LIMIT. Следовательно, нет никакого способа сделать это без ограничения предел. Нам нужно работать с php mojo.

Предположим, у нас есть класс Eloquent с именем Attendance . Вот что должно работать:

 //Getting count $count = Attendance::count(); $skip = 5; $limit = $count - $skip; // the limit $collection = Attendance::skip($skip)->take($limit)->get(); 

Я думаю, что это не очень хороший ответ, потому что вы заставляете делать два запроса, правильный путь будет:

 $collection = Attendance::skip($skip)->take($limit)->get(); $collection.shift(); 

Вы можете увидеть больше о коллекциях здесь