Как исправить «Запрошенный неизвестный параметр« 0 »для строки 0, столбца 0» с помощью laravel yajra datatables - PullRequest
0 голосов
/ 15 января 2020

Я использую laravel таблицы данных yajra с полиморфными отношениями c. Стол не работает должным образом. Вот проблемы:

  • Слишком медленная загрузка (всего 81 запись для всех и длина страницы установлена ​​на 10);
  • Загрузчик не отображается;
  • Данные не появляется в таблице;
  • Ошибка получения: запрошен неизвестный параметр '0' для строки 0, столбца 0. Для получения дополнительной информации об этой ошибке см. http://datatables.net/tn/4
  • Не знаю, как добавить классы в столбцы моей таблицы в соответствии с разрешениями пользователя.
  • Как сохранить добавленный столбец моего флажка следующим образом:

    $ ("# mytable"). DataTable ( {columnDefs: [{target: 'select-checkbox', sortable: false}], выберите: {style: 'multi', селектор: 'td: last-child'}});

Вот мой laravel код (php):

$query = Book::with('author')->select('*');
    return Datatables::of($query)
        ->editColumn('name', function($row) {
            if($row->author->name !== null){
                return $row->author->name;
            } else {
                return $row->author->pseudo;;
            }
        })        
        ->addColumn('action', function($row){
            $btn = '<a href="/show'.$row->id.'">Display</a>';
            return $btn;
        })
        ->addColumn('selected', function($row){
            return '<input name="selected[]" value="'.$row->id.'" type="checkbox" class="select-checkbox w-100"/>';
        })   
        ->rawColumns(['action', 'selected'])
        ->make(true);

Вот мой Datatable код инициализации (js):

var table = $('#mytable').DataTable({
                processing: true,
                serverSide: true,
                stateSave: true
                ajax: 'myajaxurl/datatable',
                language: {
                    "url": "/json/dataTables.french.lang.json"
                },
                pageLength: 10,
                lengthMenu: [ 5, 10, 15, 25, 50, 100 ],
                responsive: true,
                "columns": [
                    {data: 'id', name: 'id', visible: false},
                    {data: 'author_id', name: 'author_id', visible: false},
                    {data: 'name', name: 'name', sClass:'name'},
                    {data: 'action', name: 'action', searchable: false},
                    {data: 'selected', name: 'selected', searchable: false, sortable: false},
                ]});
...