Открытие запроса на основе значений без повторения кода - PullRequest
0 голосов
/ 10 ноября 2019

Я пытаюсь открыть разные представления на основе значения запроса. Например, если значение $request установлено в единицу, то представление должно открыться. Если значение $request равно двум, то должно открыться два представления.

Мой код работает нормально, но сейчас мне придется повторять код для каждого представления. Как я могу сделать это без повторения условия , если ?

Сценарий

public function printreports(Request $request)
{
    $reports = $request->get('reports');

    if ($reports === 1) {
        return view('teachers.report1', compact('anything'));
    }

    if ($reports === 2) {
        return view('teachers.report2', compact('anything'));
    }
}

1 Ответ

1 голос
/ 10 ноября 2019

Для большого количества файлов с похожим шаблоном имени:

$viewName = sprintf('teachers.report%d', $request->get('reports', 1))

if (!\View::exists($viewName)) {
   ___ throw an error or return default view ____
}

return view($viewName, compact('anything'));
...