2016-04-06 43 views
0

UPDATESymfony的2 /學說不保存在varchar字段的任何零

至於問,

$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]); 

有時我會增加額外的實體,在字段之間的PHP代碼中,例如設置帳戶註冊日期,但在大多數情況下只需使用表單數據保存實體。


很簡單的問題,我有一個新的(ISH)系統,並有試圖挽救零點時提示,什麼,電話號碼輸入,它不保存任何爲零?

我使用YMAL文件來控制我的學說ORM,這裏是如何我已經將它設置我的用戶表內,

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

這並保存/製作領域有着varchar和思考什麼直到我做了一個隨機測試,看到它沒有保存任何前導零?

我知道你不能在int字段類型中保存前導零,但這是一個varchar。另外當我進入數據庫,並手動添加一個零的輸入,它的罰款,所以我把它不是數據庫。與我如何獲得學說保存數據有關?

如果是這樣,我該如何改變這種情況?我剛剛使用標準的persist()和flush()命令保存數據?不知道爲什麼它不會保存零?我在想,我不得不將YMAL類型改爲手機類型?我已經結束了文檔,看不到它。

所有幫助最受歡迎..

謝謝。

+0

提供一個處理保存這些數據的代碼。我很確定這不是教義。 –

+0

我已經用請求的數據更新我的問題......但是我不確定我是如何保存它的問題。在大多數情況下,我只是保存表單,這是非常基本的,仍然不會保存電話號碼中的'零'。要添加,用戶表單類型的手機號碼設置爲「號碼」輸入。 –

回答

1

原因是在您的評論:

用戶表單類型中有設置爲「數字」輸入手機號碼。

該值由表單組件轉換爲int。將字段類型更改爲常規字符串。

如果您想驗證值只有數字,用Validation component

+0

真的嗎?大壩,我只是沒有想到這一點。我會放棄並回復你。謝了哥們! –