php zf2选择带有SQL函数的where子句

时间:2015-08-23 10:51:58

标签: php select zend-framework2 where predicate

我需要比较DATETIME的DATE格式。

在ZF 2.3.5之前,以下代码工作正常:

    $select->where('DATE(arrival_date) <= DATE(NOW())');
    $select->where('DATE(departure_date) >= DATE(NOW())');
    $select->where('enable = true');

使用ZF 2.4.2+它不再起作用并产生以下错误:

无法从接口Zend \ Db \ Sql \ Predicate \ PredicateInterface继承先前继承或覆盖常量TYPE_IDENTIFIER

我尝试了以下(没有错误)。问题是&#34; arrival_date&#34;是DATETIME格式,我只需要与DATE进行比较。

    $where = new Zend\Db\Sql\Where();
    $where->lessThanOrEqualTo('arrival_date', date('Y-m-d'));
    $where->greaterThanOrEqualTo('arrival_date', date('Y-m-d'));
    $where->equalTo('enable', true);
    $select->where($where);

理想情况下,此代码应该有效,但不会:

        $select->where(new Zend\Db\Sql\Predicate\Expression('DATE(arrival_time) <= ?', 'DATE(NOW())'));

我迷路了,不知道吗?

0 个答案:

没有答案