如何将正则表达式修饰符添加到 Laravel 5.1 路由约束


How to add regex modifier to Laravel 5.1 route where constraint?

我正在尝试为路由添加 where 约束,如下所示:

Route::get('{franchise}', ['as' => 'franchise.home', 'uses' => 'FranchiseController@home'])
->where('franchise', 'ford|nissan|mazda|skoda|kia');

我希望汽车制造商不区分大小写,以便它与福特、福特、福特、forD 相匹配。

我尝试了以下方法无济于事:

->where('franchise', 'ford|nissan|mazda|skoda|kia/i');
->where('franchise', '/ford|nissan|mazda|skoda|kia/i');

甚至是否可以将正则表达式修饰符添加到路由上的约束中?

您可以在模式的开头使用内联不区分大小写的修饰符(?i),以便它可以匹配小写和大写字符变体:

->where('franchise', '(?i)ford|nissan|mazda|skoda|kia');