gpt4 book ai didi

mysql - Symfony 2/Doctrine 不在 varchar 字段中保存任何零

转载 作者:行者123 更新时间:2023-11-29 11:36:46 25 4
gpt4 key购买 nike

更新

按照要求,

$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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com