2017-08-13 6 views
1

私は($要求 - >要求)をダンプ時にパラメータが移入されsymfonyの3.3.6リクエストパラメータ

ParameterBag {#69 ▼ 
    #parameters: array:1 [▼ 
    "form" => array:8 [▼ 
     "phone" => "2042333233" 
     "price" => "72" 
     "region" => "1" 
     "accept_terms" => "1" 
     "_token" => "XXX" 
    ] 
    ] 
} 

を見ることができますが、私はパラメータにアクセスしようとすると:

$request->get('phone') 
$request->request->get('phone') 

要求はPOSTから取り込まれます - 後者は動作するはずですが、結果はNULLになります???

+0

あなたはsymfonyのフォームまたはハードコーディングされたフォームを使用していますか? –

+0

ハードコードされた(動的な)フォーム - 私はそれがcreateForm()の代わりにcreateFormBuilder()を呼び出すことによって暗示されたと考えました。別の方法がありますか? –

+0

あなたのフォームがどのように見えるか表示する - フォーム/フォームビルダーを使用している場合は、 'Request'オブジェクトを通して直接データを取得するよりも良い方法がある –

答えて

0

はこれを試してみてください。

$request->request->get('form')['phone'] 
+0

どうしたのですか?私が読んだ公式の文書のどれもこれを実証しているようではありません - 私は何が欠けていますか? –

+0

あなたの 'phone'値は' array'フォームのものです –

+0

これは、フォームコンポーネントが要素名を生成する方法です。フォームコンポーネントはネストされたフォームをサポートしているため、すべてを適切にマップするための配列が必要です。ブラウザから、ctrl-uを使って生成されたHTMLコードを見てください。物事を少しはっきりさせるかもしれない。 – Cerad

関連する問題