В Laravel 6.0 Я пытаюсь использовать этот пакет , чтобы показать таблицу данных. Таблица данных появляется, но не имеет никаких данных. Я использую datatables как сервис , как сказано в документации. Мой код
Маршруты
Route::match(['get', 'post'],'usuarios', 'UsuarioController@index')->name('usuarios.listado');
Контроллер
use App\DataTables\UsuariosDataTable;
public function index(UsuariosDataTable $dataTable)
{
return $dataTable->render('home');
}
Служба данных
<?php
namespace App\DataTables;
use App\User;
use Yajra\DataTables\Html\Button;
use Yajra\DataTables\Html\Column;
use Yajra\DataTables\Html\Editor\Editor;
use Yajra\DataTables\Html\Editor\Fields;
use Yajra\DataTables\Services\DataTable;
//Facades
use Carbon;
class UsuariosDatatable extends DataTable
{
public function ajax($query)
{
dd('Hello'); //Doesn´t work here
return $this->datatables
->eloquent($this->query())
->make(true);
}
public function query(UsuariosDatatable $model)
{
$users = User::all();
return $this->applyScopes($users);
}
public function html()
{
dd('hello'); //dd works here
return $this->builder()
->columns($this->getColumns())
->parameters([
'order' => [[0, 'desc']],
'pagingType' => 'full_numbers',
'dom' => "<'row'<'col-xs-12'<'col-xs-6'l>B>><'row'<'col-xs-12't>><'row'<'col-xs-12'<'col-xs-6'i> <'col-xs-6'p>>>",
'buttons' => [
['extend' => 'excel', 'text' => '<i class="fa fa-file-excel-o"></i> Exportar a Excel'],
],
'processing' => true,
'serverSide' => true,
'responsive' => true,
'searching' => true,
])
}
protected function getColumns()
{
return [
'name' => ['title' => 'Nombre','name'=>'name'],
'email' => ['title' => 'Email' ,'name'=>'email'],
];
}
protected function filename()
{
return 'Listado de usuarios del ' . Carbon:: now()->format('d/m/Y H:i:s');
}
}
Просмотр
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Laravel DataTables Tutorial</title>
<link href="https://netdna.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
<link href="https://cdn.datatables.net/1.10.20/css/jquery.dataTables.min.css">
<link href="https://cdn.datatables.net/buttons/1.6.0/css/buttons.dataTables.min.css">
</head>
<body>
<div class="container">
{!! $dataTable->table() !!}
</div>
@push('scripts')
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<script src="https://cdn.datatables.net/1.10.20/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/buttons/1.6.0/js/dataTables.buttons.min.js"></script>
<script src="/vendor/datatables/buttons.server-side.js"></script>
{!! $dataTable->scripts() !!}
@endpush
</body>
</html>
Я использовал этот пакет много раз, но мне кажется, что-то изменилось в каком-то обновлении, но я точно не знаю, что это такое.
Вопрос: кто-то видит, что не так? Как правильно создать таблицу данных с помощью этого пакета?