Метод simplePaginate в Laravel
Метод paginate не только
берёт порцию записей, но и считает,
сколько всего строк в таблице -
чтобы нарисовать номера страниц
(1, 2, 3 …). На очень больших
таблицах такой подсчёт может быть
дорогим.
simplePaginate тоже режет
список на страницы, но общее число
записей не считает. Навигация проще:
обычно только «назад» и «вперёд»:
<?php
namespace App\Http\Controllers;
use App\Models\Post;
class PostController extends Controller
{
public function index()
{
$posts = Post::simplePaginate(10);
return view('posts.index', [
'posts' => $posts,
]);
}
}
?>
В Blade ссылки по-прежнему выводят
через links() - изменится
только вид блока. Выбирайте
simplePaginate, когда номера
страниц не нужны, а таблица большая.
Если важны «всего N страниц» и прыжок
на конкретный номер - оставайтесь
на paginate.
Замените paginate на
simplePaginate и сравните
вид навигации.
Кратко опишите, когда удобнее
simplePaginate, а когда
полный paginate.