Я заметил, что в Laravel, когда вы связываете skip()
вы также должны использовать take()
. Я хочу пропустить первые n строк, но остальное. Метод take позволяет только целые числа, как я могу это сделать, не прибегая к хакерскому трюку, например, указывая большое количество для принятия?
В принципе, с каждым 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();
Вы можете увидеть больше о коллекциях здесь