У меня проблема с пагинацией - PullRequest
0 голосов
/ 16 ноября 2018

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

Это моя функция контроллера индекса:

$Courses=Courses::orderBy('name','desc')->paginate(1);

return view('Courses.index')->with('Courses',$Courses);

Я получаю эту ошибку:

вызов неопределенного метода App \ Courses :: links () (Просмотр: C: \ laragon \ WWW \ TharakaCollege \ ресурсы \ Views \ Курсы \ index.blade.php)

Ответы [ 5 ]

0 голосов
/ 16 ноября 2018

Попробуйте вместо этого этот код (ваша измененная версия):

<div id="page-wrapper">
@include('includes.message');
<div class="container-fluid">
    <div class="row">
        <div class="col-lg-12">
            <div class="row">
                <div class="col-lg-12">
                    <div class="panel panel-info">
                        <div class="panel-heading">
                            Courses
                        </div>
                        <!-- /.panel-heading -->
                        <div class="panel-body">
                                <div class="table-responsive">
                            <table width="100%" class="table table-striped table-bordered table-hover" id="dataTables-example">
                                <thead>
                                    <tr>
                                            <th class="text-center">#</th>
                                            <th class="text-center"> code</th>
                                            <th class="text-center">Course Name</th>
                                            <th class="text-center">Category</th>
                                            <th class="text-center">Requirements</th>

                                        </tr>
                                    </thead>
                                    <tbody>
                                        @if(count($Courses)>0)
                                   @foreach($Courses as $Course)
                                    <tr class="item{{$Course->id}}">
                                        <td>{{$Course->id}}</td>
                                        <td>{{$Course->code}}</td>
                                        <td>{{$Course->name}}</td>
                                        <td>{{$Course->category}}</td>
                                        <td>{{$Course->requirements}}</td>
                                        <td><a class="btn btn-info btn-sm" href="/Courses/{{$Course->id}}/edit">Edit</a>
                                        </td>
                                        <td>
                                                <form method="POST" action="{{route('Courses.destroy',$Course->id)}}">
                                                        <input type="hidden" name="_token" value="{{ csrf_token() }}">
                                                        <input type="hidden" name="_method" value="DELETE">
                                                        <input type="submit" class="btn btn-danger btn-sm" value="Delete">
                                                      </form>
                                        </td>

                                    </tr>
                                    @endforeach
                                    @else
                                    <p>No Courses</p>
                                    @endif
                                    </tbody>
                                </table>
                                {{$Courses->appends(request()->query())->links()}}
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

Я изменил ваш цикл foreach, а также -> links ().

0 голосов
/ 16 ноября 2018

Вы должны попробовать это:

<div class="pull-left">
        <div class="row">
          <div class="col-xs-12">
            <div class="explore-pagination">
              <nav>
                <div class="pagination"> {{ $Courses->render() }}</div>
              </nav>
            </div>
          </div>
        </div>   
      </div>
0 голосов
/ 16 ноября 2018

Это код в Courses / index.blade.php

<div id="page-wrapper">
    @include('includes.message');
    <div class="container-fluid">
        <div class="row">
            <div class="col-lg-12">
                <div class="row">
                    <div class="col-lg-12">
                        <div class="panel panel-info">
                            <div class="panel-heading">
                                Courses
                            </div>
                            <!-- /.panel-heading -->
                            <div class="panel-body">
                                    <div class="table-responsive">
                                <table width="100%" class="table table-striped table-bordered table-hover" id="dataTables-example">
                                    <thead>
                                        <tr>
                                                <th class="text-center">#</th>
                                                <th class="text-center"> code</th>
                                                <th class="text-center">Course Name</th>
                                                <th class="text-center">Category</th>
                                                <th class="text-center">Requirements</th>

                                            </tr>
                                        </thead>
                                        <tbody>
                                            @if(count($Courses)>0)
                                       @foreach($Courses as $Courses)
                                        <tr class="item{{$Courses->id}}">
                                            <td>{{$Courses->id}}</td>
                                            <td>{{$Courses->code}}</td>
                                            <td>{{$Courses->name}}</td>
                                            <td>{{$Courses->category}}</td>
                                            <td>{{$Courses->requirements}}</td>
                                            <td><a class="btn btn-info btn-sm" href="/Courses/{{$Courses->id}}/edit">Edit</a>
                                            </td>
                                            <td>
                                                    <form method="POST" action="{{route('Courses.destroy',$Courses->id)}}">
                                                            <input type="hidden" name="_token" value="{{ csrf_token() }}">
                                                            <input type="hidden" name="_method" value="DELETE">
                                                            <input type="submit" class="btn btn-danger btn-sm" value="Delete">
                                                          </form>
                                            </td>

                                        </tr>
                                        @endforeach
                                        @else
                                        <p>No Courses</p>
                                        @endif
                                        </tbody>
                                    </table>
                                    {{ $Courses->links() }}
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>

0 голосов
/ 16 ноября 2018

При вызове метода paginate вы получите экземпляр Illuminate\Pagination\LengthAwarePaginator. В дополнение к этим вспомогательным методам экземпляры paginator являются итераторами и могут быть зациклены в виде массива. Таким образом, после получения результатов вы можете отобразить результаты и отобразить ссылки на страницы с помощью Blade:

Ваш клинок должен содержать:

<div class="container">
    @foreach ($courses as $course)
        {{ $course->fieldName }}
    @endforeach
</div>

{{ $courses->links() }}
0 голосов
/ 16 ноября 2018

Предоставленной информации недостаточно, однако я думаю, что проблема на ваш взгляд. В вашем блейд-файле должен быть такой код:

                <div class="pages">
                    <ul class="pagination ">
                        <li>{{$Courses->appends(request()->query())->links()}}</li>
                    </ul>
                </div>

Более того, вам лучше отредактировать возвращаемое представление так:

return view('Courses.index', array('Courses'=> $Courses));
...