6

次のリクエスト オブジェクトがあり、フォームにバインドする前にコントローラーから「email_suffix」を削除したいと考えています。これは可能ですか?

public 'request' => 
    object(Symfony\Component\HttpFoundation\ParameterBag)[8]
      protected 'parameters' => 
        array
          'registration' => 
            array
              'email' => string 's' (length=1)
              'email_suffix' => string 'y.com' (length=5)
              'password' => string '1234' (length=4)
              '_token' => string '967d99ba9f955aa67eb9eb004bd331151d816d06' (length=40)
          'product_id' => string '2' (length=1)
          'product_description' => string '12 month membership' (length=19)
          'product_price' => string '6.99' (length=4)

私が試してみました $request->request->remove("registration[email_suffix]");

$request->request->remove("registration") を実行できます - これは機能します。

今のところ、私はこれをやっています:

$requestReg = $request->request->get('registration');
$requestReg['email'] = $requestReg['email'].'@'.$requestReg['email_suffix'];
unset($requestReg['email_suffix']);
$request->request->set('registration',$requestReg);
4

2 に答える 2

1

あなたの呼び出し$request->requestがタイプミスかどうかはわかりません。

クラス$request->attributesを表すと操作する必要があります。ParameterBag

ParameterBagのメソッドを調べると、配列内の変数を設定解除する方法がないことがわかります。

于 2012-08-04T12:48:53.773 に答える