В веб-разработке Laravel DataTables — это мощная библиотека, которая позволяет эффективно отображать табличные данные и манипулировать ими. Yajra Laravel DataTables — популярный пакет, расширяющий функциональность DataTables в приложениях Laravel. Одной из особенно полезных функций является возможность работать с необработанными столбцами, что открывает целый мир возможностей для настройки. В этой статье мы рассмотрим различные методы использования необработанных столбцов в Yajra Laravel DataTables, чтобы вывести ваши таблицы данных на новый уровень.
- Добавление базового необработанного столбца.
Необработанные столбцы позволяют включать в таблицы DataTable пользовательский HTML или необработанные данные. Чтобы добавить базовый необработанный столбец, вы можете использовать методaddColumn(), предоставляемый Yajra DataTables. Вот пример:
->addColumn('action', function ($data) {
return '<a href="/users/' . $data->id . '">View</a>';
})
В этом примере мы добавляем столбец «Действие» в DataTables, который содержит ссылку для просмотра сведений о каждом пользователе.
- Манипулирование данными в необработанных столбцах.
Вы также можете выполнять манипуляции с данными в необработанных столбцах. Например, вы можете захотеть отформатировать даты или применить условную логику. Допустим, у нас есть столбец «create_at», в котором хранятся временные метки. Мы можем отформатировать его с помощью библиотекиCarbonи отобразить как удобочитаемую дату:
->addColumn('created_at', function ($data) {
return \Carbon\Carbon::parse($data->created_at)->format('F j, Y');
})
- Сортировка и фильтрация по необработанным столбцам.
По умолчанию DataTables не поддерживает сортировку и фильтрацию по необработанным столбцам. Однако с помощью Yajra Laravel DataTables вы можете включить сортировку и фильтрацию необработанных столбцов, используя методrawColumns(). Вот пример:
->rawColumns(['action'])
В данном случае мы включаем сортировку и фильтрацию по столбцу «Действие», который содержит HTML-ссылки.
- Использование выражений необработанного SQL:
Yajra Laravel DataTables позволяет использовать выражения необработанного SQL в ваших запросах. Это может быть удобно, когда вам нужно выполнить сложные вычисления или применить определенные функции базы данных. Вот пример расчета общего дохода для каждой строки:
->addColumn('revenue', DB::raw('price * quantity'))
В этом примере мы используем метод DB::raw()для создания необработанного выражения SQL, которое умножает столбцы «цена» и «количество».
Yajra Laravel DataTables предоставляет ряд методов для работы с необработанными столбцами, позволяя вам настраивать и расширять функциональность ваших DataTables. Используя необработанные столбцы, вы можете добавлять собственный HTML, манипулировать данными, включать сортировку и фильтрацию и даже использовать необработанные выражения SQL. Использование этих методов поможет вам создавать динамические и интерактивные таблицы данных, отвечающие вашим конкретным требованиям.