2016-03-03 86 views
1

我想一个地方约束添加到如下所示的路线:如何添加正则表达式修饰符到Laravel 5.1路由的约束?

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

我想要的汽车制造商是不区分大小写的,所以它会匹配福特,福特,福特,福特。

我曾尝试以下无济于事:

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

它甚至有可能以正则表达式修饰符的路线上到这个地方的约束?

+1

你试过' - >在哪里(“特许经营” ,'(?i)ford | nissan | mazda | skoda | kia');'? –

+0

哇,这工作。你为什么不把它作为答案呢? –

+0

完成,只是想知道它是否可以与'where'一起工作。用'与',它确实。 –

回答

2

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

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