【问题标题】:I have a problem with my laravel pagination我的 laravel 分页有问题
【发布时间】:2019-04-19 12:04:03
【问题描述】:

我是 Laravel 的新手。我正在尝试使用引导表中的数据创建分页。

这是我的索引控制器功能:

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

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

我收到此错误:

调用未定义的方法 App\Courses::links()(查看: C:\laragon\www\TharakaCollege\resources\views\Courses\index.blade.php)

【问题讨论】:

  • 你能把你views\Courses\index.blade.php的内容也发一下吗?错误消息准确地解释了问题所在。请确保$Courses 包含您期望的数据并且它提供了links() 方法。
  • 我们可以看到视图标记吗?
  • 你的 index.blade.php 中的代码是什么?
  • 在 index.blade.php 中显示你的代码,也许你会覆盖 foreach 循环。
  • 我想从数据库中取出所有数据

标签: laravel pagination


【解决方案1】:

提供的信息还不够,但我认为问题出在您的观点上。您的刀片文件中必须有这样的代码:

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

此外,您最好像这样编辑返回视图:

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

【讨论】:

    【解决方案2】:

    这是 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>
    

    【讨论】:

      【解决方案3】:

      调用paginate 方法时,您将收到Illuminate\Pagination\LengthAwarePaginator 的实例。除了这些辅助方法之外,paginator 实例是迭代器,可以作为数组循环。因此,一旦您检索到结果,您就可以显示结果并使用 Blade 呈现页面链接:

      你的刀片应该包含:

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

      【讨论】:

        【解决方案4】:

        你应该试试这个:

        <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>
        

        【讨论】:

          【解决方案5】:

          试试这个代码(你的修改版):

          <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()。

          【讨论】:

            猜你喜欢
            • 2017-11-22
            • 1970-01-01
            • 2018-09-09
            • 2021-05-01
            • 1970-01-01
            • 2019-08-29
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多