Использование нескольких маршрутов и контроллеров в одном блейд-файле - PullRequest
0 голосов
/ 22 октября 2018

Я создал несколько контроллеров и маршрутов, но они работают по одному за раз, мне нужно отключить другой и изменить код моего блейд-файла или использовать для него другой блейд-файл, но есть простой способ его использовать.

Маршруты

Route::get('/students/{alphabet}', 'PostController@showByAlphabet');
Route::get('/students/{name}', 'PostController@showByName');
Route::get('/students/{class}', 'PostController@showByClass');

Я не хочу создавать различные блейд-файлы, такие как

http://example.com/students/alphabet/a
http://example.com/students/name/nadia
http://example.com/students/class/b_com

, но

http://example.com/students/a
http://example.com/students/nadia
http://example.com/students/b_com

это возможно?

Все контроллеры показывают разные данные.1. В алфавитном порядке отображается список студентов, начинающихся с одинаковых букв.2. Имя показывает данные профиля студента.3. Класс показывает список студентов в этом предметном классе.

1 Ответ

0 голосов
/ 22 октября 2018

Так как у вас есть подстановочный знак в конце ваших маршрутов, первый всегда будет срабатывать.Поэтому убедитесь, что у вас есть отдельные маршруты для функций контроллера.Вы все еще можете использовать тот же блейд-файл в контроллере.

Route::get('/students/alphabet/{alphabet}', 'PostController@showByAlphabet');
Route::get('/students/name/{name}', 'PostController@showByName');
Route::get('/students/class/{class}', 'PostController@showByClass');

Если у вас тот же маршрут с параметром, то у маршрутизатора нет возможности узнать, являются ли символы, которые вы отправляете, алфавитными,имя или класс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...