2017-01-17 9 views
1

名前にスペースを含む変数を転記するフォームがあります。Laravel Requestオブジェクトがフォーム名のスペースをアンダースコアに置き換えるのはなぜですか?

私のapi.phpで

私は私のAJAXリクエストを実行し、私は名前が空白で、」正しく渡されていることクロームインスペクタで見ることができます)

Route::post('/user', '[email protected]'); 

UserControllerで

function get(Request $request) 
{ 
    dd($request->input('Name Surname')); //display null 
    dd($request->all()); //I notice the key's changed to Name_Surname 

} 

空白を入れなければならないので名前を変更できません(悪い練習ですか?そうですが)。

置き換えられるスペースを避けるにはどうすればよいですか? (おそらく、リクエスト - > all()が手で配列キーを返す必要はありません)。

答えて

1

短い答え私はそこにこのような方法があるとは思わない。

あなたはかかわらず、置き換える文字列のビットに応答をマッピングすることができます:リグまですべての要求に適用するには、いくつかのミドルウェアを、それはあなたがボード全体に適用したいものだ場合、あなたは可能でし

$data = $request->all()->mapWithKeys(function($item, $key) { 
    return [str_replace("_", " ", $key) => $item]; 
}); 

を。

関連する問題