具有laravel查询限制的数据表服务器端分页

时间:2016-05-04 05:43:39

标签: php laravel-4 datatable server-side

我正在使用下面的查询来了解laravel中的随机行数。

Select * from table order by rand() limit 0,1000

我的数据表分页大小为100但是当我在查询中使用限制时,分页无法正常工作。

如何在服务器端分页的laravel中使用上述查询实现此功能?

谢谢!

1 个答案:

答案 0 :(得分:1)

您应该在查询结果后尝试进行分页,因为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);
}