Laravel - Laravel Datatable не показывает данные - PullRequest
0 голосов
/ 01 октября 2019

В 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>

Я использовал этот пакет много раз, но мне кажется, что-то изменилось в каком-то обновлении, но я точно не знаю, что это такое.

Вопрос: кто-то видит, что не так? Как правильно создать таблицу данных с помощью этого пакета?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...