问题描述
我有一个相当长且复杂的查询,需要花费一些时间才能运行,但遗憾的是,此查询现在返回3000行。
我试图将OFFSET x ROWS FETCH NEXT x
添加到脚本中,这适用于第一页,但是,当您单击第二页时,您会得到一个空表。
我还有另一个查询,它获取行数,该行数有效并显示corect行数。
我的问题是,为什么当我添加OFFSET x ROWS FETCH NEXT x时Datatables无法工作?如果我添加->with('QueryResults',$QueryResults)
,我可以看到所有应显示的数据
如果有人需要,可以在这里找到SQL Fiddle https://dbfiddle.uk/?rdbms=sqlserver_2019&fiddle=0edf7bad9c4451e3cde49d3c3ef37283
public function TestTableList(Request $Request){
$LIMITFrom = $Request->start;
$LIMITPerPage = $Request->length;
$Query = "SELECT id,rev,content FROM dbo.TestTable ORDER BY id ASC OFFSET " . $LIMITFrom . " ROWS FETCH NEXT " . $LIMITPerPage . " ROWS ONLY";
$TotalRows = (DB::select("SELECT COUNT(*) AS COUNTER FROM dbo.TestTable"))[0]->COUNTER;
$Results = DB::select($Query);
return datatables()->collection($Results)
->with('QueryResults',$Results)
->addColumn('Options',function(){
return 'Button HTML removed for smaller code';
})
->setTotalRecords($TotalRows)
->rawColumns(['Options'])
->make(true);
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)