Метод skip
Метод skip применяется к запросу Eloquent
или Query Builder и позволяет пропустить заданное
количество записей из результата выборки. Это полезно
для реализации постраничной навигации, когда необходимо
показать данные не с первой записи. В качестве
единственного параметра метод принимает целое число -
количество записей, которые нужно пропустить.
Синтаксис
<?php
Model::skip($value);
?>
Пример
Давайте получим статьи, пропустив первые 2 записи:
<?php
use AppModelsArticle;
$articles = Article::skip(2)->get();
foreach ($articles as $article) {
echo $article->title;
}
?>
Результат выполнения кода:
["article 3", "article 4", "article 5"]
Пример
Метод skip часто используется вместе с методом
take для получения определенного количества
записей после пропуска:
<?php
use AppModelsArticle;
$articles = Article::skip(2)->take(3)->get();
foreach ($articles as $article) {
echo $article->title;
}
?>
Результат выполнения кода:
["article 3", "article 4", "article 5"]
Пример
С помощью методов skip и take можно легко
реализовать постраничную навигацию, передавая номер
страницы и количество записей на странице:
<?php
namespace AppHttpControllers;
use AppModelsArticle;
class ArticleController extends Controller
{
public function index()
{
$page = 2;
$perPage = 3;
$skip = ($page - 1) * $perPage;
$articles = Article::skip($skip)
->take($perPage)
->get();
foreach ($articles as $article) {
echo $article->title;
}
}
}
?>
Результат выполнения кода:
["article 4", "article 5", "article 6"]
Пример
Метод skip также работает с запросами через
фасад DB:
<?php
use IlluminateSupportFacadesDB;
$users = DB::table('users')
->skip(5)
->take(10)
->get();
foreach ($users as $user) {
echo $user->name;
}
?>
Результат выполнения кода:
["user 6", "user 7", "user 8", "user 9", "user 10"]