BookStack\Services\ViewService::getPopular PHP Метод

getPopular() публичный Метод

Get the entities with the most views.
public getPopular ( integer $count = 10, integer $page, boolean | false | array $filterModel = false )
$count integer
$page integer
$filterModel boolean | false | array
    public function getPopular($count = 10, $page = 0, $filterModel = false)
    {
        $skipCount = $count * $page;
        $query = $this->permissionService->filterRestrictedEntityRelations($this->view, 'views', 'viewable_id', 'viewable_type')->select('*', 'viewable_id', 'viewable_type', \DB::raw('SUM(views) as view_count'))->groupBy('viewable_id', 'viewable_type')->orderBy('view_count', 'desc');
        if ($filterModel && is_array($filterModel)) {
            $query->whereIn('viewable_type', $filterModel);
        } else {
            if ($filterModel) {
                $query->where('viewable_type', '=', get_class($filterModel));
            }
        }
        return $query->with('viewable')->skip($skipCount)->take($count)->get()->pluck('viewable');
    }