如何解决使用laravel 6在int上调用成员函数lastPage
我开始创建广告网站,成功在刀片索引中显示36个产品图像,但是当我尝试添加分页时,出现此错误Call to a member function lastPage() on int
。
AnnoncesController.php
public function index()
{
$categories = Category::all();
$annonces = Annonce::paginate(36);
$paginator = 36;
return view('landing-page')->with([
'categories' => $categories,'annonces' => $annonces,'paginator' => $paginator
]);
}
landing-page.blade.php
<div class="pagination pagination-sm pull-right">
@if($annonces->hasPages())
{{ $annonces->links() }}
@endif
</div>
@if ($paginator->lastPage() > 1)
<ul class="pagination">
@if(($paginator->currentPage() > 1))
<li class="{{ ($paginator->currentPage() == 1) ? '' : '' }}">
<a href="{{ $paginator->url(1) }}"> << </a>
</li>
@endif
@for ($i = 1; $i <= $paginator->lastPage(); $i++)
<li class="{{ ($paginator->currentPage() == $i) ? 'current' : '' }}">
<a href="{{ $paginator->url($i) }}">{{ $i }}</a>
</li>
@endfor
@if(($paginator->currentPage() != $paginator->lastPage()))
<li class="{{ ($paginator->currentPage() == 1) ? '' : '' }}">
<a href="{{ $paginator->url($paginator->currentPage()+1) }}"> >> </a>
</li>
@endif
</ul>
@endif
解决方法
您正在呼叫$paginator->lastPage();
,而$paginator
是整数,应为$annonces->lastPage();
此部分应为
@if ($annonces->lastPage() > 1)
<ul class="pagination">
@if(($annonces->currentPage() > 1))
<li class="{{ ($annonces->currentPage() == 1) ? '' : '' }}">
<a href="{{ $annonces->url(1) }}"> << </a>
</li>
@endif
@for ($i = 1; $i <= $annonces->lastPage(); $i++)
<li class="{{ ($annonces->currentPage() == $i) ? 'current' : '' }}">
<a href="{{ $annonces->url($i) }}">{{ $i }}</a>
</li>
@endfor
@if(($annonces->currentPage() != $annonces->lastPage()))
<li class="{{ ($annonces->currentPage() == 1) ? '' : '' }}">
<a href="{{ $annonces->url($annonces->currentPage()+1) }}"> >> </a>
</li>
@endif
</ul>
@endif
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。