WEB и WordPress новости, темы, плагины. Здесь мы делимся советами и лучшими решениями для сайтов.

Как использовать встроенную функцию разбивки на страницы Laravel на веб-сайте

107

Вы хотите интегрировать в свое приложение встроенную разбивку на страницы Laravel? Пагинация – всегда длительная задача. Если мы делаем это без какой-либо сторонней библиотеки, тогда нам нужно обрабатывать ссылки на страницы, общее количество записей, записей на страницу и т.д. В этой статье мы покажем вам, как использовать разбиение на страницы в Laravel, который уже включен в установку Laravel.

На веб-сайте нам часто требуется пагинация. Чтобы показать большой набор записей, мы используем разбиение на страницы. Используя разбиение на страницы, мы разбиваем большой набор данных на мелкие части. Это снизит нагрузку на наш сервер и, как следствие, сервер будет быстро реагировать.

Как использовать разбиение на страницы в Laravel

Допустим, у нас есть таблица «продукты» в нашей базе данных, и эта таблица содержит большой набор записей. Наша цель – показать по 10 строк из этой таблицы. А для следующих записей мы будем использовать ссылки для разбивки на страницы.

Как использовать встроенную функцию разбивки на страницы Laravel на веб-сайте

В нашем контроллере мы используем paginateметод и передаем значение 10 в качестве аргумента.

public function index()
{
    $products = DB::table('products')->paginate(10);
    return view('products.index', ['products' => $products]);
}

Приведенный выше код будет извлекать 10 строк из таблицы базы данных и передавать эти записи в представление.

Для отображения этих записей в представлении мы пишем код следующим образом.

<table class="table">
    <thead>
        <tr>
            <th>Id</th>
            <th>Name</th>
            <th>Description</th>
        </tr>
    </thead>
    <tbody>
        @foreach($products as $p)
            <tr>
                <td>{{ $p->id }}</td>
                <td>{{ $p->name }}</td>
                <td>{{ $p->description }}</td>
            </tr>
        @endforeach
    </tbody>
</table>
 
{{ $products->links() }}

Здесь linksметод возвращает представление разбивки на страницы, основанное на разбивке на страницы таблицы начальной загрузки.

Laravel также позволяет нам использовать постраничные запросы Eloquent вместо построителя запросов.

$products = AppProduct::paginate(10);

Передача дополнительных параметров для разбивки на страницы ссылок

Обычно мы применяем разбиение на страницы с таблицами HTML. Наряду с табличным списком записей мы даем поле поиска для фильтрации записей. Чтобы сохранить фильтры поиска, мы должны передавать строку поиска в ссылках на страницы, как показано ниже.

http: // ВАШ_САЙТ_ДОМЕН / products? s = test & page = 1

Для этого нам нужно передать строку поиска для просмотра с контроллера.

$products = DB::table('products')->paginate(10);
$products->search = 'YOUR_SEARCH_STRING';
return view('products.index', ['products' => $products]);

Затем, чтобы отображать ссылки для разбивки на страницы, мы изменяем наш код следующим образом.

{{ $products->appends(['s' => $products->search])->links() }}

appends метод добавляет строку запроса к ссылкам пагинации.

Мы надеемся, что вы понимаете, как разбить на страницы Laravel в своем приложении. Если у вас есть вопросы или предложения, оставьте комментарий ниже.

Статьи по Теме

Источник записи: artisansweb.net

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее