Почему Laravel простой пагинат не работает? - PullRequest
1 голос
/ 18 февраля 2020

Это мой контроллер

  class PageController extends Controller
  {

   public function showImageUrl (Request $req){

   $directory = '/public/testukas/';

   $files = collect(Storage::files($directory))->simplePaginate(8);

   return view('welcome')->with('files',$files);

  }

и этот код из моего приложенияServiceprovider

  if (!Collection::hasMacro('simplePaginate')) {

        Collection::macro('simplePaginate',
            function ($perPage = 15, $page = null, $options = []) {
            $page = $page ?: (Paginator::resolveCurrentPage() ?: 1);
            return (
                new Paginator(
                    $this->forPage($page, $perPage),        
                    $perPage,       
                    $page,
                    $options
                )
            )->withPath('');
        });
    }

В блейд-шаблоне я использую его для вызова ссылок

 {!! $files->render() !!}

Так мой вопрос, как заставить это работать, ссылки не показывают. Спасибо за помощь.

Ответы [ 2 ]

0 голосов
/ 18 февраля 2020
public function index()
{
    $allposts = Post::latest()->paginate(2);
    return view('welcome',compact('allposts'));
}


// blade file
{{ $allposts->links() }}
0 голосов
/ 18 февраля 2020

Здравствуйте, вам нужно поместить

{{ $files->links() }}

в ваш блейд-файл.

Метод links выдаст ссылки на остальные страницы в наборе результатов. Каждая из этих ссылок уже содержит правильную строковую переменную запроса страницы. Помните, что HTML, созданный методом links, совместим с каркасом Bootstrap CSS. source: https://laravel.com/docs/5.8/pagination#displaying -pagination-results

Illuminate \ View \ View :: render () возвращает строковое содержимое представления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...