Zend Framework - 将int字段更新为NULL更新为0而不是NULL

时间:2014-02-06 11:09:48

标签: php mysql zend-framework

我有一个int字段,我将字段更新为NULL。
这是我使用的代码 -

    $db = $Table->getAdapter();
    $db->beginTransaction();

    try {
        $db->update('table_name', array('is_approved' => NULL), array('id = ?' => $id));
        $document_db->commit();
    } catch (Exception $e) {
        $document_db->rollBack();
        throw $e;
    }

当我查看该字段时,它显示0而不是null。我在stackoverflow上阅读了很多相关的问题。有人说使用严格模式。如何使用Zend启用严格模式。

还有其他解决方法吗?我需要更新为NULL
提前谢谢。

2 个答案:

答案 0 :(得分:1)

使用这种方式设置:new Zend_Db_Expr('NULL')

答案 1 :(得分:1)

 $db = $Table->getAdapter();
    $db->beginTransaction();

    try {
        $null = new Zend_Db_Expr("NULL");
        $db->update('table_name', array('is_approved' => $null), array('id = ?' => $id));
        $document_db->commit();
    } catch (Exception $e) {
        $document_db->rollBack();
        throw $e;
    }