我在 laravel 中使用下面的随机行数查询。
Select * from table order by rand() limit 0,1000
我的数据表分页大小为 100,但当我在查询中使用限制时,分页无法正常工作。
我如何在带有服务器端分页的 laravel 中使用上面的查询来实现这个?
谢谢!
最佳答案
你应该尝试在查询结果后进行分页,因为 Laravel 会自动添加限制。将以下代码添加到您的模型中:
public function getPaginatorResults($pagination) {
$total = $this->getTotal();
$query = $this->orderByRaw('rand()')
->skip($pagination * (\Paginator::getCurrentPage() - 1))
->take($pagination);
$results = $query->get();
return \Paginator::make($results->all(), $total, $pagination);
}
关于php - 具有 laravel 查询限制的数据表服务器端分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37019380/