想像してみましょう - Laravelアプリケーション、get requstが作成されます。Laravelリクエストのintとstringキーの奇妙な振る舞い
状況は、整数名の入力を持つカスタム要求が行われていることです。カスタムリクエストファイルで、別のフィールドを追加しています。「フィールド」と言うことができます。だから、最初に$request->all()
戻り
array(
1 => "value1",
5 => "value5",
12 => "value12",
)
と$request->all()
戻り
array(
1 => "value1",
5 => "value5",
12 => "value12",
"fields" => array(
"key" => "value",
),
)
を新しいフィールドを追加した後、今、問題が発生します - $request->get("fields")
はNULLを返します。
$request->all()
はフィールドを返します。
$request->only(["fields"])
は、フィールドを含む配列を返します。
$request->exists("fields")
がtrueを返します。
なぜそうですか?
EDIT
カスタムリクエストクラス内の新しいフィールドの追加:
public function getValidatorInstance()
{
$validator = parent::getValidatorInstance();
$validator->after(function() use ($validator, $event)
{
$this->merge(["fields" => ["key" => "value"]]);
}
return $validator;
}
追加の仕組みを教えてください。 – itachi
前に$ request-> get()を使ったことがありませんでしたが、代わりに$ request-> input( 'fields')でコードを試すことができますか? – Yanaro
フィールドを追加するコードを私に教えてください –