使用 cakephp save 在 mysql 数据库中保存十进制值时出现问题


Issue saving decimal value in mysql db using cakephp save

我有一个表单,在提交时,我将值传递给控制器,数组看起来像这样。

    [submit] => Post
    [File] => Array
        (
            [content] => dfgdfgdfg
        )
    [Groups] => Array
        (
            [group_name] => 190
        )
    [News] => Array
        (
            [is_private] => 1
            [user_id] => 285
            [content] => <p>dfgdfgdfg</p>
        )
    [Posts] => Array
        (
            [rating] => 5.2
            [rating_enabled] => on
        )

除评级外的所有值都正确保存到数据库中。我在前端使用滑块,其值是评级。在 db 中,评级字段是十进制类型,帖子[评级] 的类型是字符串,所以我使用 floatval 将其转换为浮点数。

if(  isset($this->request->data['Posts']['rating_enabled'])  ){
                 $this->request->data['News']['rating'] = floatval($this->request->data['Posts']['rating']);
            }

保存完成后

$this->News->save($this->request->data);

只有$this->request->data['News']['rating']没有保存,但当选中数据数组时,的值是

 [News] => Array
        (
            [is_private] => 1
            [user_id] => 285
            [content] => <p>dfgdfgdfg</p>
            [rating] => 5.2
        )

有人可以告诉我出了什么问题吗

请检查 mysql 表评级必须为浮动