public function index() { $app = app(); $details = $app->make('stdClass'); // most recent purchases $details->most_recent = Movies::getMovieRecords('purchased', 'DESC', 10); // top rated movies $details->top_rated = Movies::getTopRated(); foreach ($details->top_rated as $movie) { $movie->rating_display = $this->makeRatingStars($movie->rating); } // get most popular actors $details->actors = Persons::getActorCount(24); // get most popular directors $details->directors = Persons::getDirectorCount(24); $details->birthdays = Persons::getTodaysBirthdays(); foreach ($details->birthdays as $birthday) { $birthday->age = $this->calculateAge($birthday->birthday, $birthday->deceased); } // highlight randomly selected movie $random_id = Movies::selectRandomFilm(); $details->highlight = Movies::findorfail($random_id); $details->highlight->cast = $details->highlight->cast->take(3); $details->highlight->crew = Crew::where('movie_id', $random_id)->select(DB::raw('GROUP_CONCAT(CONCAT(persons.forename, " ", persons.surname) SEPARATOR ", ") as list'))->join('persons', 'persons.person_id', '=', 'crew.person_id')->groupBy('movie_id')->where('position', 'Director')->take(1)->get(); $details->highlight->cover_count = strlen($details->highlight->cover); $details->highlight->rating_display = $this->makeRatingStars($details->highlight->rating); $details->decades = $this->makeDecades(); $user = $this->isAdmin; return view('welcome', compact('details', 'user')); }