Пагинация Laravel {{$ users-> links}} не существует - PullRequest
0 голосов
/ 24 января 2019

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

User::paginate(1)

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

User::all()

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

вызов неопределенного метода App \ User :: links () (представление: C: \ Users \ kaasv \ medialab \ resources \ views \ layouts \ sidebar.blade.php(Вид: 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

1 Ответ

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

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

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

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