【问题标题】:Having issue while sorting and pulling large data (yajra datatables)排序和提取大数据时出现问题(yajra 数据表)
【发布时间】:2019-10-01 03:22:59
【问题描述】:

我在应用列排序时从yajra datatable 服务器端提取大量数据时遇到问题。

对于列排序,我在查询生成器中使用了get()。如果我避免它并使用orderBy,它可以正常工作并更快地获取记录,但问题是列排序不起作用。

$query = DB::table('clients');
        if(Auth::user()->role_id==2)
        {

           $clients=  $query->whereRaw('user_id',Auth::id());


               }
        else if(Auth::user()->role_id==3)
        {
            $getCompanyId = User::where('id',Auth::id())
                                ->first();

                   $clients=  $query->whereRaw('user_id',$getCompanyId['added_by']);                          


        }
       $clients= $query->orderBy('id');

        $clients = $query->select();
        $clients = $query->get();
        $datatables = datatables()->of($clients)


            ->addColumn('action', function ($clients) {

                       return '<button class="btn btn-xs buttonhover" data-id='.$clients->id.' data-backdrop="static" onclick="editClient(this);"><i class="fa fa-edit" aria-hidden="true"></i>&nbsp;&nbsp;Edit</button>

                                <button class="btn btn-xs buttonhover2" data-id='.$clients->id.' onclick="viewDetails(this);"><i class="fa fa-eye" aria-hidden="true"></i>&nbsp;View</button>

                              <button class="btn btn-xs buttondeletehover"data-id='.$clients->id.' onclick="confirmAlertBox(this)"><i class="fa fa-trash" aria-hidden="true"></i>&nbsp;&nbsp;Delete</button>';
            })

            ->make(true);
        return $datatables;

【问题讨论】:

  • select() 有什么问题

标签: laravel laravel-5 large-data yajra-datatable


【解决方案1】:

不要在数据表中使用,也不要 get() 数据。而是使用 eloquent 生成 datatables 对象并查询卖点:

$users = User::query();
    return DataTables::eloquent($users)
    ->toJson();

或者只是使用 order by 来生成雄辩的对象:

$users = User::orderBy('id');

Eloquent Data Source

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-17
    • 1970-01-01
    • 1970-01-01
    • 2016-12-05
    • 1970-01-01
    相关资源
    最近更新 更多