我正试图在我的视野中加入分页。我不知道问题出在哪里,代码没有显示任何错误。
这是我的控制器功能
public function apakskategorijas($id)
{
$apakskat = apakskategorijas::with('prece')->where('id',$id)->paginate(2);
return view ('kategorijas.apakskategorijas',compact('apakskat'));
}
视图
@section('content')
@foreach($apakskat as $apk)
@foreach($apk->prece as $prec)
<div class="col-md-4 kat">
<a href="{{ url('kategorija/apakskategorija/preces/'.$prec->id) }}">
<div>
<img src="{{ URL::to($prec->path) }}">
</div>
<div class="nos">
<p>{{$prec->nosaukums}}</p>
</div></a>
<div class="price-box-new discount">
<div class="label">Cena</div>
<div class="price">{{ $prec->cena }} €</div>
</div>
<div><a href="" class="button btn-cart "><span>Ielikt grozā</span></a></div>
</div>
@endforeach
@endforeach
<center>{{$apakskat->links()}}</center> <--pagination
@endsection
DD($ apakskat)
UPDATE
当我将控制器中的代码更改为$apakskat = apakskategorijas::paginate(1);
然后它显示了我的分页,但这对我不起作用,因为我需要在每个子类别中显示项目,这个代码它只显示我拥有的每个项目,它不会过滤哪个子类别被选中。
这就是为什么我需要这个$apakskat = apakskategorijas::with('prece')->where('id',$id)->paginate(1);
是一个函数,我调用它创建表之间的关系,以便它显示每个项目及其相关的子类别。
这是当前Laravel版本中的分页行为。如果只有一个页面,则不会显示分页链接。
要测试这个,只需将代码更改为这样的内容即可获得更多页面:
$apakskat = apakskategorijas::paginate(1);
如果您想显示第一页,如果只有一个页面,则需要customize pagination views。只需发布分页视图并从@if/@endif
中删除此default.blade.php
对,但保留其余代码:
@if ($paginator->hasPages())
....
@endif