Полное руководство по использованию таблиц данных в Laravel 8

В этом сообщении блога мы рассмотрим интеграцию Datatables с Laravel 8, популярной PHP-инфраструктурой. Datatables — это мощная библиотека JavaScript, которая расширяет функциональность HTML-таблиц, предоставляя расширенные функции, такие как нумерация страниц, поиск, сортировка и многое другое. Мы рассмотрим различные методы и приемы для эффективной интеграции и использования таблиц данных в вашем приложении Laravel 8.

Предварительные требования:
Прежде чем углубляться в детали реализации, убедитесь, что у вас есть базовое представление о Laravel 8 и его концепциях, включая маршрутизацию, контроллеры, представления и миграции. Кроме того, требуется работающая установка Laravel 8 и подключение к базе данных.

  1. Установка необходимых пакетов:
    Чтобы начать, откройте терминал вашего проекта и перейдите в каталог проекта. Выполните следующую команду, чтобы установить пакет DataTables для Laravel:
composer require yajra/laravel-datatables-oracle

Этот пакет обеспечивает простой способ работы с таблицами данных в Laravel.

  1. Настройка базы данных и модели.
    Далее создайте таблицу в базе данных и сгенерируйте соответствующую модель с помощью генератора миграции и моделей Laravel. Например, давайте создадим таблицу «Пользователи» и модель «Пользователь»:
php artisan make:migration create_users_table --create=users
php artisan migrate
php artisan make:model User
  1. Настройка DataTable:
    В вашем контроллере импортируйте необходимые классы и определите метод для получения данных для DataTable. Например, давайте извлечем всех пользователей из таблицы «users» и вернем ответ в формате JSON:
use App\Models\User;
use DataTables;
public function getUsersData()
{
    $users = User::select(['id', 'name', 'email', 'created_at']);

    return DataTables::of($users)->toJson();
}
  1. Создание маршрута и представления:
    В файле маршрутов определите маршрут, который соответствует методу контроллера, созданному на предыдущем шаге:
use App\Http\Controllers\UserController;
Route::get('/users-data', [UserController::class, 'getUsersData']);

Создайте файл представления для отображения DataTable. Вот простой пример:

<!DOCTYPE html>
<html>
<head>
    <title>DataTables in Laravel 8</title>
    <link rel="stylesheet" href="https://cdn.datatables.net/1.10.25/css/jquery.dataTables.min.css">
</head>
<body>
    <table id="users-table">
        <thead>
            <tr>
                <th>ID</th>
                <th>Name</th>
                <th>Email</th>
                <th>Created At</th>
            </tr>
        </thead>
    </table>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script src="https://cdn.datatables.net/1.10.25/js/jquery.dataTables.min.js"></script>
    <script>
        $(document).ready(function() {
            $('#users-table').DataTable({
                serverSide: true,
                ajax: "/users-data",
                columns: [
                    { data: 'id', name: 'id' },
                    { data: 'name', name: 'name' },
                    { data: 'email', name: 'email' },
                    { data: 'created_at', name: 'created_at' }
                ]
            });
        });
    </script>
</body>
</html>

В этой статье мы рассмотрели интеграцию Datatables с Laravel 8. Мы рассмотрели установку необходимых пакетов, настройку базы данных и модели, настройку DataTable в контроллере, а также создание маршрута и представления. Выполнив эти шаги, вы сможете улучшить функциональность своих приложений Laravel 8, включив мощные функции, предоставляемые Datatables.

Реализация таблиц данных в Laravel 8 позволяет эффективно представлять данные и управлять ими, улучшая взаимодействие с пользователем и делая ваше приложение более интерактивным и удобным.

Не забудьте настроить DataTable в соответствии с вашими конкретными требованиями, обратившись к официальной документации Datatables.