2016-07-23 9 views
0

私はlaravelで結果を返し、最後にpaginate()を返します。問題は、配列内のすべてのIDを集めて最初のページのみを取得するときです。Laravel 5、ページ分割の結果foreachがすべてのIDを取得する

ページネーションの前にそれらを取得して、2回クエリを実行する必要はありませんか?

$clients = Client::apply($data, $dataArray)->ModelJoinCall()->orderBy($this->sortby, $this->orderby)->paginate(30); 

答えて

0

は、あなたが2ページ目にある次の場合は、データベースから最初の30件のレコードを取得します、のpaginateは、あなたがページ1であると仮定しましょう、件のデータを取得するためのSQLの制限を使用しているので、それをする方法はありませんデータベースから30〜60レコードを取得します。

すべてのIDを取得するために別のSQLを持つのに問題はありません。

またはデータベースにあまりデータがない場合。あなたはそれらをすべて1ページで取り出すことができ、ページ区切り効果を作るにはjavacriptとhtmlを使用する

+0

私は別のクエリでIDを取得できますが、100k行ほど遅く、多くのフィルタを持っています – kuna

+0

このIDはpaginate )? – kuna

+0

30レコードのみ、ページ番号 –

関連する問題