【问题标题】:How to select rows where a column value is empty/null using Zend_Db?如何使用 Zend_Db 选择列值为空/空的行?
【发布时间】:2009-10-29 23:56:37
【问题描述】:

我有一个 SQLite 数据库,最终将是一个 MySQL 数据库,我正在使用 Zend Framework。我正在尝试获取表中'date_accepted' 列为空/null/没有值的所有行。这是我目前所拥有的:

public function fetchAllPending()
{
    $select = $this->getDbTable()->select();
    $select->where('date_accepted = ?', 'null');
    return $this->fetchAll($select);
}

我做错了什么?您将如何用普通 SQL 和/或使用 Zend_Db_Select 编写此代码?

【问题讨论】:

    标签: sql mysql sqlite zend-db zend-db-select


    【解决方案1】:

    我看到了两个可能的问题。什么是函数 getDbTable?如果您的类从 Zend_Db_Table 继承,则不需要该函数。其次,也许您应该尝试使用 IS NULL 而不是 = null 并在查询中引用 null。

    public function fetchAllPending()
    {
            $select = $this->select()->where('date_accepted IS NULL');
            return $this->fetchAll($select);
    }
    

    【讨论】:

    • 这个函数在我的数据映射器对象中。 (不确定它是否是最好的地方,但它有效)。但 IS NULL 对我有用,所以谢谢!
    • 在使用 Zend 2.4.7 的 TableGateway 时,我发现以下有用的 stackoverflow.com/a/32238396/3112527
    猜你喜欢
    • 2015-02-13
    • 1970-01-01
    • 2011-04-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-29
    • 2019-09-30
    • 1970-01-01
    相关资源
    最近更新 更多