【发布时间】:2021-04-03 09:17:51
【问题描述】:
同一类型的路由有两条
Route::get('/{category_slug}/{city_slug}/{state_slug}', 'PagesController@categoryByStateCity')->name('page.category.state.city');
Route::get('/{item_slug}/{city_slug}/{state_slug}', 'PagesController@item')->name('page.item');
category_slug - 类别参数 item_slug - 公司参数
他们有相同的结构,所以这个网址
/demo-company/城市/州
将由第一条路由作为类别处理
在构建路由时,是否有一种优雅的解决方案可以将这些参数中的每一个都限制为它们自己的值?
PS
->where('option1|option2|option3...)
该选项不合适,因为可能有5000个值并且得到一个长字符串。
PS2 或许有机会使用中间件
请注意,我不想使用控制器来检查参数。我想有不同的路线,并在路线级别进行。
【问题讨论】:
-
那么,基本上你需要将
category_slug限制为Category 表中的slug?
标签: laravel routes laravel-routing