コレクションの全体から総数を計算しているのかと思ったが、そんなことは無かった。
考えてみれば LIMIT .. OFFSET ..
かけているから当然だった。
SQL発行回数が増えるので、Paginate対象が重いSQLだと注意。
以下証拠。
Route::get('test', function() {
$interns = App\Models\User::paginate(30);
throw new \Exception;
});
ちなみに軽量版である simplePaginate()
でも同様。
Route::get('test', function() {
$interns = App\Models\User::simplePaginate(30);
throw new \Exception;
});