如何解决向Laravel Datables添加OFFSET和FETCH会导致分页中断
我有一个相当长且复杂的查询,需要花费一些时间才能运行,但遗憾的是,此查询现在返回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 举报,一经查实,本站将立刻删除。