在 laravel 中使用 laravel-datatables 我只看到表头

问题描述

阅读手册 https://yajrabox.com/docs/laravel-datatables/master/quick-starter

我尝试将 laravel-datatables 添加到我的 laravel 8 应用程序中,并且我在控制中:

from pathlib import Path
home = str(Path.home())
print("HOME_FOLDER is ",home)

在 app/DataTables/UsersDataTable.php 中:

public function index(UsersDataTable $dataTable)
{
    $viewParamsArray = getAppParameters(true,['csrf_token'],[]);
    return $dataTable->render('admin.users.index',$viewParamsArray);
}

在 resources/views/admin/users/index.blade.php 中:

<?php

namespace App\DataTables;

use App\Models\User;
use Yajra\DataTables\DataTables;
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;

class UsersDataTable extends DataTable
{
    public function dataTable($query)
    {
        return datatables()
            ->eloquent($query)
            ->addColumn('action','users.action');
    }

    public function query(User $model)
    {
        \Log::info( '-10 query ::' . print_r( -10,true  ) ); // I do not see this line in log

        return $model->newQuery()->orderBy('users.id','asc')   ->map
            (function ($userItem) {
            $userItem->slashed_name = addslashes($userItem->name);
            $permissionsLabel       = '';
                \Log::info(  varDump($userItem->getPermissionNames(),' -000 $userItem->getPermissionNames()::') );
            foreach ($userItem->getPermissionNames() as $v) {
                $permissionsLabel .= $v . ',';
            }
            $userItem->permissions_label = trimRightSubString(trim($permissionsLabel),',');

            return $userItem;
        })
        ->all();
    }

    public function html()
    {
        \Log::info( '-1  public function html( ::' . print_r( -3,true  ) );
        // I see this line in log
        return $this->builder()
                    ->setTableId('users-table')
                    ->columns($this->getColumns())
                    ->minifiedAjax()
                    ->dom('Bfrtip')
                    ->orderBy(1)
                    ->buttons(
                        Button::make('create'),Button::make('export'),Button::make('print'),Button::make('reset'),Button::make('reload')
                    );
    }

    protected function getColumns()
    {
        return [
            'id','name','email','phone',];
    }

    protected function filename()
    {
        return 'Users_' . date('YmdHis');
    }
}

结果我只看到带有 id="users-table" 的表头,没有 sql-tracement 到 db。 在页面加载时上传数据有什么遗漏以及如何更好地制作我需要的客户 过滤表单(名称文本、状态/组选择输入)以通过单击“搜索”按钮重新加载数据?

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...