Расширение ваших таблиц данных Laravel с помощью Yajra и необработанных столбцов

В веб-разработке Laravel DataTables — это мощная библиотека, которая позволяет эффективно отображать табличные данные и манипулировать ими. Yajra Laravel DataTables — популярный пакет, расширяющий функциональность DataTables в приложениях Laravel. Одной из особенно полезных функций является возможность работать с необработанными столбцами, что открывает целый мир возможностей для настройки. В этой статье мы рассмотрим различные методы использования необработанных столбцов в Yajra Laravel DataTables, чтобы вывести ваши таблицы данных на новый уровень.

  1. Добавление базового необработанного столбца.
    Необработанные столбцы позволяют включать в таблицы DataTable пользовательский HTML или необработанные данные. Чтобы добавить базовый необработанный столбец, вы можете использовать метод addColumn(), предоставляемый Yajra DataTables. Вот пример:
->addColumn('action', function ($data) {
    return '<a href="/users/' . $data->id . '">View</a>';
})

В этом примере мы добавляем столбец «Действие» в DataTables, который содержит ссылку для просмотра сведений о каждом пользователе.

  1. Манипулирование данными в необработанных столбцах.
    Вы также можете выполнять манипуляции с данными в необработанных столбцах. Например, вы можете захотеть отформатировать даты или применить условную логику. Допустим, у нас есть столбец «create_at», в котором хранятся временные метки. Мы можем отформатировать его с помощью библиотеки Carbonи отобразить как удобочитаемую дату:
->addColumn('created_at', function ($data) {
    return \Carbon\Carbon::parse($data->created_at)->format('F j, Y');
})
  1. Сортировка и фильтрация по необработанным столбцам.
    По умолчанию DataTables не поддерживает сортировку и фильтрацию по необработанным столбцам. Однако с помощью Yajra Laravel DataTables вы можете включить сортировку и фильтрацию необработанных столбцов, используя метод rawColumns(). Вот пример:
->rawColumns(['action'])

В данном случае мы включаем сортировку и фильтрацию по столбцу «Действие», который содержит HTML-ссылки.

  1. Использование выражений необработанного SQL:
    Yajra Laravel DataTables позволяет использовать выражения необработанного SQL в ваших запросах. Это может быть удобно, когда вам нужно выполнить сложные вычисления или применить определенные функции базы данных. Вот пример расчета общего дохода для каждой строки:
->addColumn('revenue', DB::raw('price * quantity'))

В этом примере мы используем метод DB::raw()для создания необработанного выражения SQL, которое умножает столбцы «цена» и «количество».

Yajra Laravel DataTables предоставляет ряд методов для работы с необработанными столбцами, позволяя вам настраивать и расширять функциональность ваших DataTables. Используя необработанные столбцы, вы можете добавлять собственный HTML, манипулировать данными, включать сортировку и фильтрацию и даже использовать необработанные выражения SQL. Использование этих методов поможет вам создавать динамические и интерактивные таблицы данных, отвечающие вашим конкретным требованиям.