Laravel 5.7 (последняя версия) Ошибка разбивки на страницы (остается на 1-й странице, только независимо от того, какую ссылку вы нажимаете) - PullRequest
0 голосов
/ 19 декабря 2018

Ссылка на тот же вопрос (БЕЗ ОТВЕТОВ): Проблемы с разбиением на страницы на Laravel 5.7

Это не позволило бы мне прокомментировать или поднять, у меня та же проблема, что иэтот пользователь с 5.7 в одиночку.Я удивлен, сколько времени прошло, никто еще не ответил.

Снимок экрана ниже dd() моего $admins = Admin::latest()->paginate(1);

Screenshot

Мой контроллер:

 public function index()
    {
        $admins = Admin::latest()->paginate(1);
        return view('admin.settings.admins.index', compact('admins'));
    }

Мой блейд-файл:

<!--begin::Portlet-->
            <div class="m-portlet m-portlet--mobile m-portlet--body-progress-">
                <div class="m-portlet__head">
                    <div class="m-portlet__head-caption">
                        <div class="m-portlet__head-title">
                            <h3 class="m-portlet__head-text">
                                Admins
                            </h3>
                        </div>
                    </div>
                </div>
                <div class="m-portlet__body">
                    <div class="m-portlet__body-progress">Loading</div>
                    <table class="table">
                        <thead>
                        <tr>
                            <th>#</th>
                            <th>Name</th>
                            <th>Email</th>
                            <th>Status</th>
                        </tr>
                        </thead>
                        <tbody>
                        @foreach($admins as $admin)
                            <tr>
                                <th scope="row">{{ $admin->id }}</th>
                                <td><a href="{{ url('/'.config('app.admin_path').'/settings/admins/'.$admin->id.'/') }}">{{ $admin->last_name }}, {{ $admin->first_name }}</a></td>
                                <td><a href="{{ url('/'.config('app.admin_path').'/settings/admins/'.$admin->id.'/') }}">{{ $admin->email }}</a></td>
                                <td>@if($admin->status == 1)
                                        Active
                                @elseif($admin->status == 2)
                                        InActive
                                @else
                                        <font style="color:red;">Terminated</font>
                                @endif
                                </td>
                            </tr>
                            @endforeach
                        </tbody>
                    </table>
                    <div>
                        {{ $admins->appends(Request::all())->links() }}
                    </div>
                </div>
            </div>
            <!--end::Portlet-->

Любая помощь очень ценится, так как это была борьба, и мне еще предстоит ее решить.

Строки моей базы данных:

Нажмите здесь, чтобы посмотреть изображение

Ответы [ 3 ]

0 голосов
/ 20 декабря 2018

Вы пробовали это?

{{ $admins->appends(Request::except('page'))->links() }}

Если вы получаете данные с помощью запроса GET или параметра строки запроса, вам нужно включить эту строку запроса в каждый запрос страницы без параметра страницы.

Поскольку вы добавили все из запроса, 'page = 1' также включается в строку запроса, поэтому остается на странице 1 навсегда.

0 голосов
/ 05 января 2019

Хорошо, так что мне потребовалось слишком много времени, чтобы понять.Это была моя ошибка, и я надеюсь, что это поможет вам.

Я использую nginx в качестве веб-сервера, так что это, вероятно, относится только к этому веб-серверу.Очень важно иметь эту строку с строкой query_string в конце:

try_files $uri $uri/ /index.php?$query_string

Я выложу всю конфигурацию, если хотите, но это должно помочь вам.

0 голосов
/ 19 декабря 2018

Вы можете попробовать это:

Файл контроллера

public function cities()
{
    $cities = App\City::paginate(2);
    return view('welcome', compact('cities'));
}

Файл Blade

{{ $cities->onEachSide(3)->links() }}

Описание:

onEachSide(1) показывает количество страниц до и после ACTIVE страницы.

Снимок экрана вывода

Например, если учесть, что мы на странице 30, у нас есть 5 страниц и общее количество записей 355 чем:

{{ $cities->onEachSide(1)->links() }}

1 2 .. 29 30 31 .. 66 67


{{ $users->onEachSide(2)->links() }}

1 2 .. 28 29 30 31 32 .. 66 67

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