2016-12-12 8 views
1

私はこのようなルートを持っています。私は、ルートパラメータsocialfacebookgoogleまたはtwitterのいずれかであるかどうかを確認しようとしています。regexを適用して経路をチェックする方法paramは配列

Route::get('/login/{social}', 'Auth\[email protected]') 
->where('social',["facebbok","google","twitter"]); 

上記のルートは機能しません。それは正規表現を求めます。助けてください。

これを確認するには?

+0

回答はこちらです。以前私はそれで私の問題を解決しました。 http://stackoverflow.com/a/3809435/4582992 –

+0

以前、私はこのリンクで私の問題を解決しました。あなたにも欲しいhttp://stackoverflow.com/a/3809435/4582992 –

答えて

3

このお試しください:ここで

Route::get('/login/{social}', 'Auth\[email protected]') 
->where('social','(facebook|google|twitter)'); 

:ルートインスタンス上where方法

Route::get('/login/{social}', 'Auth\[email protected]') 
->where('social','(facebook|google|twitter)'); 
+0

ありがとうございます:) –

0

は、パラメータの名前と正規表現を受け入れ、あなたの2番目のパラメータは、正規表現ではありません有効なRegExpです

0

->whereのメソッドシグネチャは何ですか?ただし、推測すると、

Route::get('/login/{social}', 'Auth\[email protected]') 
->where('social', "/^(facebook|google|twitter)$/i"); 
0

この状態が役に立つと願っています。

Route::get('/login/{social}','Auth\[email protected]') 
    ->where('social', 'facebook|google|twitter'); 
関連する問題