【发布时间】:2016-08-29 09:34:06
【问题描述】:
我正在使用以下查询来获取 laravel 中的随机行数。
Select * from table order by rand() limit 0,1000
我的数据表分页大小为 100,但是当我在查询中使用限制时分页无法正常工作。
如何在 laravel 中使用上述查询和服务器端分页来实现这一点?
谢谢!
【问题讨论】:
标签: php laravel-4 datatable server-side
我正在使用以下查询来获取 laravel 中的随机行数。
Select * from table order by rand() limit 0,1000
我的数据表分页大小为 100,但是当我在查询中使用限制时分页无法正常工作。
如何在 laravel 中使用上述查询和服务器端分页来实现这一点?
谢谢!
【问题讨论】:
标签: php laravel-4 datatable server-side
你应该在查询结果后尝试进行分页,因为 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);
}
【讨论】: