Caching 从cache Laravel 5.2中进行复杂选择

Caching 从cache Laravel 5.2中进行复杂选择,caching,laravel-5.2,Caching,Laravel 5.2,我找不到关于:如何从缓存Laravel 5中进行复杂选择的信息 我有疑问: $companys = Company::with(['comments' => function ($query) { $query->where('status', '=', 'done'); }])->withCount('comments')->has('comments')->inRandomOrder()->paginat

我找不到关于:如何从缓存Laravel 5中进行复杂选择的信息

我有疑问:

$companys = Company::with(['comments' => function ($query) {

            $query->where('status', '=', 'done');

            }])->withCount('comments')->has('comments')->inRandomOrder()->paginate(8);
我需要缓存这个查询

我想首先缓存所有带有逗号的公司,然后查询缓存以获得带有计数注释和分页的随机公司

有人这样想:

$cache_companys =  Cache::remember('companys', 30, function () {

          return Company::with('comments')->get();

        });
从$cache_公司获得我的公司进行分页

我试着做:

$companys = Cache::remember('companys', 30, function () {

          return Company::with(['comments' => function ($query) {

                $query->where('status', '=', 'done');

                }])->withCount('comments')->has('comments')->inRandomOrder()->paginate(8);
        });
但在这种情况下,每一页的页码都是同一家公司的

请帮帮我


谢谢。

我的问题的解决方案:

$currentPage = isset($_GET['page']) ? (int)$_GET['page'] : 1;

$companys = Cache::remember('companys-'.$currentPage, 30, function () {

          return Company::with(['comments' => function ($query) {

                $query->where('status', '=', 'done');

                }])->withCount('comments')->has('comments')->inRandomOrder()->paginate(8);
        });