Усовершенствуйте свое приложение Laravel 9 с помощью таблиц данных и кнопок Yajra

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

Метод 1: добавление пользовательских кнопок
Yajra DataTables позволяет легко добавлять пользовательские кнопки в ваши таблицы. Эти кнопки могут выполнять различные действия, например редактирование, удаление или экспорт данных. Давайте посмотрим пример:

use Yajra\DataTables\DataTables;
public function index()
{
    return view('datatable.index');
}
public function getData()
{
    $data = User::query();
    return DataTables::of($data)
        ->addColumn('action', function ($user) {
            return '<a href="/edit/'.$user->id.'" class="btn btn-primary">Edit</a>
                    <a href="/delete/'.$user->id.'" class="btn btn-danger">Delete</a>';
        })
        ->rawColumns(['action'])
        ->make(true);
}

Метод 2: использование предопределенных кнопок
Yajra DataTables предоставляет набор предопределенных кнопок, которые можно использовать сразу после установки. Эти кнопки предлагают общие функции, такие как сортировка, поиск и экспорт данных. Давайте рассмотрим пример:

use Yajra\DataTables\DataTables;
public function index()
{
    return view('datatable.index');
}
public function getData()
{
    $data = User::query();
    return DataTables::of($data)
        ->addColumn('action', function ($user) {
            return '<a href="/edit/'.$user->id.'" class="btn btn-primary">Edit</a>
                    <a href="/delete/'.$user->id.'" class="btn btn-danger">Delete</a>';
        })
        ->addIndexColumn()
        ->addColumn('checkbox', '<input type="checkbox" name="checkbox[]" value="{{ $id }}" />')
        ->rawColumns(['action', 'checkbox'])
        ->make(true);
}

Метод 3: реализация кнопок на уровне строк
В некоторых случаях может потребоваться добавить кнопки в отдельные строки, а не во всю таблицу. Yajra DataTables позволяет добиться этого с помощью метода editColumn. Давайте посмотрим пример:

use Yajra\DataTables\DataTables;
public function index()
{
    return view('datatable.index');
}
public function getData()
{
    $data = User::query();
    return DataTables::of($data)
        ->editColumn('action', function ($user) {
            return '<a href="/edit/'.$user->id.'" class="btn btn-primary">Edit</a>
                    <a href="/delete/'.$user->id.'" class="btn btn-danger">Delete</a>';
        })
        ->make(true);
}

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