Публикации - Laravel

База данных и модели - Постраничная навигация

Общие понятия

Постраничную навигацию мы можем создать с помощью метода paginate(), входящего в состав конструктора Eloquent

    public function index()
    {
        $data = Product::paginate(5);
        return view('product.index',compact('data'));
    }

Кроме метода paginate для реализации постраничной навигацией можно воспользоваться методом simplePaginate:

$users = DB::table('users')->simplePaginate(15);

Результат выполнения этих методов - массив объектов и объект пагинации, который может быть передан в элементы представления.

Пагинация в blade-шаблонах

В файлах blade кроме диррективы @foreach, мы можем использовать встроенный метод links(), который привязывается к объекту $products, и содержит ссылки на другие страницы.

 @foreach($products as $key => $product)
  //
 @endforeach
{!! $products->links() !!}

Теперь мы можем запустить и проверить этот пример. Если мы используем начальную загрузку, необходимо добавить useBootstrap() к поставщику услуг, как показано ниже:

namespace App\Providers;
  
use Illuminate\Support\ServiceProvider;
use Illuminate\Pagination\Paginator;
  
class AppServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
    
    }
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        Paginator::useBootstrap();
    }
}

При необходимости, мы можем к запросам пагинации добавлять свои request-запросы

{!! $data->appends(['sort' => 'votes'])->links() !!}

OR

{!! $data->appends(Request::all())->links() !!}

Постраничная пагинация в API

Методы постраничной навигации можем исполозовать и в API. С той лишь разницей, что в API полученный объект выводим в формате JSON.

    $data = Category::paginate(request()->all());    
    return Response::json($data, 200);

Количество комментариев: 0

Для того, чтобы оставить коментарий необходимо зарегистрироваться


Изображения Видео

1. Подключение CKEditor https://artisansweb.net/install-use-ckeditor-laravel/#comments
2. Регистрация и авторизация https://know-online.com/post/laravel-reg
3. Что нового в Laravel 8 https://sergeymukhin.com/blog/chto-novogo-v-laravel-80
4. Авторизация Sanctum <iframe width="560" height="315" src="https://www.youtube.com/embed/MT-GJQIY3EU" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>