public static function resolveSolutionFiles(&$solution) { $cache_name = __METHOD__ . '_solution_id=' . $solution->id; $solution->files = Cache::remember($cache_name, Config::get('constants.CACHE_TIME_DAY'), function () use($solution, $cache_name) { if (App::environment('local')) { Log::debug('Cache: ' . $cache_name); } return SolutionFile::where('solution_id', $solution->id)->where('deleted', false)->select('id', 'name', 'user_id', 'solution_id', 'created_at', 'updated_at')->get(); }); }
public function viewSolutionFile($id = null) { $solutionFile = SolutionFile::where('id', $id)->where('deleted', false)->first(); if (!$solutionFile) { abort(404); } $solution = Solution::where('id', $solutionFile->solution_id)->first(); if (!$solution) { abort(404); } $task = Task::where('id', $solution->task_id)->first(); if (!$task) { abort(404); } $category = Category::where('id', $task->category_id)->first(); if (!$category) { abort(500); } return view('solution/file', ['solutionFile' => $solutionFile, 'solution' => $solution, 'task' => $task, 'alias' => $category->alias, 'script' => $category->script]); }