Для создания кнопок "предыдущая" и "следующая" запись в Laravel, вы можете использовать методы Eloquent ORM для получения предыдущей и следующей записи на основе текущей записи. Этот подход часто используется в блогах, галереях и других приложениях, где нужно навигировать между записями.

Шаг 1: Получение текущей записи

Предположим, у вас есть модель Post, и вы хотите показать кнопки "предыдущая" и "следующая" для текущего поста. Сначала вам нужно получить текущий пост. Это можно сделать, например, через маршрут с параметром ID:

use App\Models\Post;

Route::get('/post/{id}', function ($id) {
    $post = Post::find($id);
    return view('post.show', compact('post'));
});

Шаг 2: Получение предыдущей и следующей записи

В представлении post.show вы можете использовать методы previous и next для получения предыдущей и следующей записи соответственно. Эти методы автоматически сортируют записи по умолчанию по столбцу id.

// В представлении post.show

// Получение предыдущей записи
$previousPost = Post::where('id', '<', $post->id)->orderBy('id', 'desc')->first();

// Получение следующей записи
$nextPost = Post::where('id', '>', $post->id)->orderBy('id', 'asc')->first();

Шаг 3: Отображение кнопок в представлении

Теперь, когда у вас есть предыдущая и следующая записи, вы можете отобразить кнопки для навигации в вашем представлении.

<!-- В представлении post.show -->

@if($previousPost)
    <a href="{{ route('post.show', $previousPost->id) }}">Предыдущий пост</a>
@endif

@if($nextPost)
    <a href="{{ route('post.show', $nextPost->id) }}">Следующий пост</a>
@endif

Шаг 4: Определение маршрута

Убедитесь, что у вас есть маршрут, который соответствует действию show в вашем контроллере PostController. Если вы используете ресурсные маршруты, Laravel автоматически создаст этот маршрут для вас.

// В файле routes/web.php

Route::resource('post', PostController::class);

Этот подход позволяет легко добавить кнопки навигации между записями в вашем приложении Laravel. Вы можете адаптировать его для любой модели, просто заменив Post на имя вашей модели.