首页 > 解决方案 > Laravel:$images = json_decode() 上的分页;

问题描述

我希望为我的证书添加分页,1 页中有 8 个证书。我怎样才能做到?提前致谢。

证书控制器:

class certificatesController extends Controller
{
    public function index()
    {
        $currentid = null;
        $certificates = certificates::first();
        $images = json_decode($certificates->image);


        return view('certificate.index', compact('images', 'certificates', 'currentid'));
    }
}

索引刀片:

@foreach ($images as $img)
    <div class="grid-item">
        <!-- photo item -->
        <a class="img-box" href="{{ asset('source/upload/certificates/800x600/'.$img) }}">
            <img src="{{ asset('source/upload/certificates/800x600/'.$img) }}" alt="">
        </a></a>
        <!-- end photo item -->
    </div>
@endforeach

标签: laravel

解决方案


要限制查询中分页中每页的项目数,您可以将参数传递给 paginate() 方法,如下所示

$certificates = certificates::paginate(8); 

传递给 paginate 方法的唯一参数是您希望显示的项目数"per page"。在这种情况下,让我们指定我们想要显示8 items per page

在刀片模板中

@foreach ($certificates as $certificate)
   
@endforeach
{{ ($certificates->links() }}

参考:https ://laravel.com/docs/8.x/pagination#paginating-query-builder-results


推荐阅读