/**
  * Responds to requests to GET /exercises
  */
 public function getIndex(Request $request)
 {
     $options = Exercise::getOptions(['types', 'mechanics', 'forces', 'difficulties']);
     $show_admin_options = Auth::check() ? Auth::user()->isAdmin() : false;
     $muscles = Exercise::getPrimaryMuscleGroupedByExercise();
     $builder = Exercise::query();
     $params = $this->getSelectedParameters($request);
     $this->addParamsToQuery($builder, $params);
     $exercises = $builder->with('type', 'mechanic', 'force', 'difficulty', 'primary_muscle', 'secondary_muscle')->paginate(6);
     $this->appendSelectionToPagination($request, $exercises);
     return view('exercises.index', ['exercises' => $exercises, 'options' => $options, 'muscles' => $muscles, 'show_admin_options' => $show_admin_options, 'params' => $params]);
 }