Phalcon 模型更新不起作用

Phalcon Model update not working

这是我的模型:

class Users extends Model
{
    public $id;
    public $fname;
    public $lname;
    public $email;
    public $password;
    public $emailVerified;
    public $suspended;
}

现在我要 suspend 一个用户...

                $user = Users::findFirst(
                                    array(
                                        'conditions' => "email=:email:",
                                        'bind' => array(
                                            'email' => $context->request->getPost("email")
                                        ))
                                );
                $user->suspended = 1;
                $user->save();

现在问题来了,在我更新用户数据后, suspended 字段按预期设置为 1 但奇怪的是 emailVerified 字段是也更新了现在两个字段都包含值:1.

我不知道这是怎么回事。我搜索了互联网,但找不到类似的问题。我做错了什么吗?

更新:

这是mySQL日志。我发现了问题。 Phalcon 查询生成器为 emailVerified 创建的值用单引号括起来。所以它是一个字符串,字段类型是 bit.

111 Query   

UPDATE `users` SET `fname` = 'user_fname', `lname` = 'user_lname', `email` = 'user_email', `emailVerified` = '0', `suspended` = 1 WHERE `id` = '3'

111 Quit    

我没有发现您的上述代码有任何问题导致您看到的问题。我建议将您的数据库设置为转储所有 SQL 查询,并仔细检查您的数据库的默认值和可能会更改数据库本身内部值的函数。

我前一段时间也遇到过这个问题。 Phalcon 似乎不支持 bit 列。您应该改用 tinyint

我也找到了一个closed issue'confirming'这个