2016-04-06 38 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

真的吗?大坝,我只是没有想到这一点。我会放弃并回复你。谢了哥们! –