更新
按照要求,
$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 文件来控制我的 Doctrine ORM,这是我在用户表中设置它的方式,
mobileNumber:
type: string
nullable: false
length: 50
options:
fixed: false
column: mobile_number
这确实保存/使该字段具有 varchar,并且没有想到它,直到我进行了随机测试并发现它没有保存任何前导零?
我知道你不能在 int 字段类型中保存前导零,但这是一个 varchar。另外,当我进入数据库并手动向该输入添加零时,这很好,所以我采用它而不是数据库。与我如何获取保存数据的 Doctrine 有关吗?
如果是这样我该如何改变?我刚刚使用标准 persist() 和lush() 命令保存数据?不知道为什么它不保存零?我在想我必须将 YMAL 类型更改为电话之类的类型?我已经浏览了文档,看不到它。
欢迎所有帮助..
谢谢。
最佳答案
原因在您的评论中:
User form type has the mobile number set to 'number' input.
Form 组件正在将该值转换为 int。将字段类型更改为常规字符串。
如果您想验证值仅为数字,请使用 Validation component
关于mysql - Symfony 2/Doctrine 不在 varchar 字段中保存任何零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36456148/