2016-05-04 50 views
3

我正在使用下面的查詢laravel中的隨機數行。數據表服務器端分頁與laravel查詢限制

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

而我的數據表分頁大小是100,但是當我在查詢中使用限制時,分頁不能正常工作。

我怎樣才能實現這個使用上面的查詢laravel與服務器端分頁?

謝謝!

回答

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); 
} 
+0

因爲我使用的數據表中的AJAX部分採用laravel和laravel使得使用$查詢 - >使(真)這樣的反應我怎麼能使用此功能。 –

+0

過去模型的整個代碼(如果有的話),控制器和路由,因爲我不能告訴你你必須把它放在哪裏。 –