Пагинация Laravel {{$ users- ›links}} не существует

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

User::paginate(1)

и поместите ссылки $ users-> в лезвие, он говорит, что ссылки не найдены, но когда я использую

User::all()

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

Вызов неопределенного метода App \ User :: links () (View: C: \ Users \ kaasv \ medialab \ resources \ views \ layouts \ sidebar.blade.php) (View: C: \ Users \ kaasv \ medialab \ resources \ views \ layouts \ sidebar.blade.php) (Вид: C: \ Users \ kaasv \ medialab \ resources \ views \ layouts \ sidebar.blade.php)

AppServiceProvider

   use Illuminate\Support\ServiceProvider;
   use Illuminate\Support\Facades\Schema;
   //use Illuminate\View\View;
   use View;
   //use App\Repositories\UserRepository;

   use App\User;

  class AppServiceProvider extends ServiceProvider
{
/**
 * Bootstrap any application services.
 *
 * @return void
 */
public function boot()
{
    Schema::defaultStringLength(191);

    View::share('user', User::paginate(1));

}

/**
 * Register any application services.
 *
 * @return void
 */
public function register()
{
    //
}
}

sidebar.blade.php

    <h1>Alle Studenten</h1>

  @if (Auth::check())


<table class="table">
    <tr>
        <th scope="col">#</th>
        <th scope="col">Name</th>
        <th scope="col">Student Number</th>
    </tr>
    @foreach($user as $users)

        <tr>
            <th scope="row">
               {{$users->id}}
            </th>
            <th>
                <a class="text-dark" href="/admin/leerling/{{ $users->id }}">
                    {{$users->name}}
                </a>
            </th>
            <th>
                {{$users->student_number}}
            </th>
        </tr>

    @endforeach

</table>

{{ $users->links() }}

     @endif

person InterstingJavaLearner    schedule 24.01.2019    source источник
comment
Нет пользователей, но пользователь: {{ $user->links() }}   -  person Autista_z    schedule 24.01.2019
comment
Имя вашей переменной - одна из причин путаницы. Почему вы назвали бы разбитую на страницы коллекцию user, но одним элементом users?   -  person Devon    schedule 24.01.2019
comment
@Devon да, наверное, стоит это изменить, спасибо!   -  person InterstingJavaLearner    schedule 24.01.2019


Ответы (1)


Прежде всего, я не предлагаю использовать Laravel's View Composers, потому что они будут инициализированы для каждого представления, даже тех, которые вы добавляете с помощью @include, @extends и т.д. База данных.

Во-вторых, метод paginate() принимает number of results to return в качестве параметра, что означает, что при возврате только 1 пользователь разрешит экземпляр Paginator, который на самом деле имеет метод, который вы ищете: links(), но проблема в том, что вы называете его user, где вы находитесь доступ к users внутри представления

person Nikola Gavric    schedule 24.01.2019