【发布时间】:2015-06-02 08:12:49
【问题描述】:
我使用 cakephp 2.6.4。和 sql srv 2012。 我需要以十进制数(4,2)格式保存十进制数 -> 前 4 位,分隔符后 2 位。
在 sql server 中我有数据类型 decimal(4,2),在模型中我有验证 'rule' => array('decimal',2)。
当我尝试保存例如 4213,12 时,它报告消息需要将数字舍入到 4213 或 4214 我尝试使用点 (.) 作为分隔符,但不起作用
当我在 sql srv float 中设置数据类型时,我可以保存,但不能使用小数,
有什么帮助吗? 天呐
接下来我尝试在 sql srv 中使用 numeric(4,2),但结果与使用 decimal(4,2) 相同
我的验证数组是:'coordinate_x' => array( '数字' => 数组( '规则' => 数组('十进制',2),
-所有内容都被注释了
- 我设法得到 SQL 错误:错误:SQLSTATE[42000]:[Microsoft][SQL Server Native Client 11.0][SQL Server]将数据类型 varchar 转换为数字时出错。我删除了该字段的验证规则。似乎 cakephp 中的 dacimal 值等于字符。但是当我回滚验证规则时,会出现错误,例如将数字从 1234,12 舍入到 1234 或 1235
【问题讨论】:
-
Cake 生成的 SQL INSERT/UPDATE 是什么?
-
我没有得到任何 sql。通过按提交,我会在输入字段周围得到带有按摩的红色边框。我认为没有执行任何sql。我认为这些按摩是浏览器按摩并且与数据库数据类型相关。有可能吗?
-
听起来数据验证失败,因此 CakePHP 没有尝试更新数据库。你能用你模型的
$validate数组更新你的问题吗?
标签: sql-server cakephp decimal cakephp-2.6