【发布时间】: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> Edit</button>
<button class="btn btn-xs buttonhover2" data-id='.$clients->id.' onclick="viewDetails(this);"><i class="fa fa-eye" aria-hidden="true"></i> View</button>
<button class="btn btn-xs buttondeletehover"data-id='.$clients->id.' onclick="confirmAlertBox(this)"><i class="fa fa-trash" aria-hidden="true"></i> Delete</button>';
})
->make(true);
return $datatables;
【问题讨论】:
-
select() 有什么问题
标签: laravel laravel-5 large-data yajra-datatable