具有多个“变量”的Laravel路线变量-&引用;
因此,我在我的laravel应用程序中有一个类别路由,如下所示:具有多个“变量”的Laravel路线变量-&引用;,laravel,Laravel,因此,我在我的laravel应用程序中有一个类别路由,如下所示: Route::get('all-{category}-listings', 'CategoryController@index')->name('category'); 当我转到以下URL localhost:8000/所有测试列表时,它工作正常, 但是当一个类别的名称中也有一个连字符时,它会给我一个404,例如localhost:8000/all测试列表 有人知道解决这个问题的方法吗?您可以在路线上使用“正则表达式约束”
Route::get('all-{category}-listings', 'CategoryController@index')->name('category');
当我转到以下URL localhost:8000/所有测试列表时,它工作正常,
但是当一个类别的名称中也有一个连字符时,它会给我一个404,例如localhost:8000/all测试列表
有人知道解决这个问题的方法吗?您可以在路线上使用“正则表达式约束”来启用带破折号的类别:
Route::get('all-{category}-listings', 'CategoryController@index')
->where('category', '[A-Za-z0-9-]+')
->name('category');
您可以在路线上使用“正则表达式约束”启用带破折号的类别:
Route::get('all-{category}-listings', 'CategoryController@index')
->where('category', '[A-Za-z0-9-]+')
->name('category');
如果希望管线参数始终受
给定正则表达式,可以使用pattern方法。你应该
在系统的引导方法中定义这些模式
路由服务提供商
:
一旦定义了模式,它将自动应用于所有
使用该参数名称的路由:
如果希望管线参数始终受
给定正则表达式,可以使用pattern方法。你应该
在系统的引导方法中定义这些模式
路由服务提供商
:
一旦定义了模式,它将自动应用于所有
使用该参数名称的路由:
Route::get('all-{category}-listings', function ($category) {
// {category} has to be alpha numeric (lowercase), but can include a dash
});