2016-04-06 13 views
0

UPDATEsymfonyの2 /ドクトリン未保存varchar型のフィールド内の任意のゼロ

としては、時々私は、例えば、フィールドはPHPコード内で設定された上で、エンティティに余分な追加されます、ため

$NewUser = new Users(); 
$Form = $this->createForm(new UserType(), $NewUser, []) 
       ->add('save', 'submit', ['label' => 'Save', 
             'attr' => ['class' => 'SaveButton ftLeft'], 
             ]); 
$Form->handleRequest($request); 

if ($Form->isValid()) { 
    /* 
     Sometimes add more data to the entity..... 
    */ 
    $em = $this->getDoctrine()->getManager(); 
    $em->persist($NewUser); 
    $em->flush(); 
} 

$FormRender = $Form->createView(); 
return $this->render('xxxxBundle:Users/add.html.twig', 
            ['AddUser' => $FormRender]); 

を尋ねましたほとんどの場合、フォームデータでエンティティを保存するだけです。


非常に簡単な問題で、電話番号の入力を、私は新しい(っぽい)システムを持っており、何のために、ゼロを保存しようとする旨の通知を持って、それがどんなゼロを保存しませんか?これは、フィールドがvarchar型を持って作る/保存、およびについては何も考えてないん

mobileNumber: 
     type: string 
     nullable: false 
     length: 50 
     options: 
      fixed: false 
     column: mobile_number 

私は、ここで私は私のユーザーテーブル内にそれを設定しているかである私の教義ORMを制御するためにYMALファイルを使用しています

、それは私がランダムなテストをし、先行ゼロを保存していないことを見たまでそれは?

int型フィールドに先行ゼロを保存することはできませんが、これはvarcharです。また、私はデータベースに入り、その入力にゼロを手動で追加するので、そのデータベースは使用しません。データを保存する教義をどうすればいいのでしょうか?

どうすれば変更できますか?私はちょうど標準のpersist()とflush()コマンドでデータを保存していますか?なぜゼロを保存しないのか分かりませんか?私はYMALタイプを電話のようなものに変更しなければならないと考えていましたか?私はドキュメントを見ている、それを見ることはできません。

すべてのヘルプが大歓迎です。

ありがとうございます。

+0

を使用し、これらのデータを保存処理するコードを提供します。私はそれが教義ではないと確信しています。 –

+0

私は要求されたデータで私の質問を更新しました...しかし、私はそれを保存しているかどうかはわかりません。ほとんどの場合、私はフォームを保存するだけで、それは非常に基本的なものであり、依然として電話番号の中に「0」を保存しません。追加するには、ユーザーフォームタイプに「番号」入力に設定されたモバイル番号があります。 –

答えて

1

の理由は、あなたのコメントである:

ユーザーフォームタイプは、「番号」の入力に設定携帯電話番号を持っています。

この値は、フォームコンポーネントによってintにキャストされています。フィールドの種類を通常の文字列に変更します。

あなただけの数字であることを値を検証したい場合は、Validation component

+0

本当ですか?ダム、私はちょうどそれについて考えなかった。私はそれを行って、あなたに戻ってきます。ありがとう! –