Вызов правильных контроллеров на маршрутах - PullRequest
0 голосов
/ 09 января 2019

У меня проблемы в некоторых ситуациях, например в моем приложении, у меня есть таблица cms и таблица продуктов.

Мои маршруты, например:

Route::get('{slug}', 'Frontend\ProductController@view')->name('frontend-view-product');
Route::get('staticpage', 'Frontend\SiteController@view')->name('frontend-view-static');
Route::get('{slug}', 'Frontend\CmsController@view')->name('frontend-view-cms');

Единственная проблема в том, что маршруты испорчены, есть ли способ, которым я могу поддерживать свои текущие маршруты и делать маршруты, вызываемые в правильных контроллерах?

Ответы [ 2 ]

0 голосов
/ 09 января 2019

У вас уже есть ответ, но вы также можете попробовать эту опцию. Надеюсь, это сработает.

Route::get('{slug}', 'Frontend\ProductController@view')->name('frontend-view-product')->where('slug','prod');
Route::get('staticpage', 'Frontend\SiteController@view')->name('frontend-view-static');
Route::get('{slug}', 'Frontend\CmsController@view')->name('frontend-view-cms')->where('slug','cms');

Where сопоставит параметр slug с prod и cms и вызовет соответствующее действие контроллера.

0 голосов
/ 09 января 2019

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

Route::get('product/{slug}', 'Frontend\ProductController@view')->name('frontend-view-product');

Route::get('cms/{slug}', 'Frontend\CmsController@view')->name('frontend-view-cms')

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