limitsCacheKey, now()->addDay(), function () { $limits = SeatingLimit::with('ensemble')->get(); // Sort limits by ensemlbe->rank $limits = $limits->sortBy(function ($limit) { return $limit->ensemble->rank; }); return $limits->groupBy('audition_id'); }); } public function getLimitForAudition($auditionId) { return $this->getAcceptanceLimits()[$auditionId]; } public function refershLimits() { Cache::forget($this->limitsCacheKey); } }