0

我正在寻找正确的 zf2 语法来从数据库中选择时间戳/时间范围。我知道如何做出 where 语句。然而,greaterThan() 和 lessThan() 似乎不适用于时间戳/日期时间:

where = new Where();
$where->lessThan("datecolumn",$vardate);

我想选择所有超过 2 小时的记录。那么使用zend framework 2选择日期的正确方法是什么?

Thx,非常感谢您的帮助

4

2 回答 2

3

这工作正常(只是一个样本) -

 $select = new Select('album');

 $created = date('Y-m-d H:i:s', strtotime("-2 hours"));

 $where = new Where();
 $where->lessThanOrEqualTo('created', $created);
 $select->where($where);

 $resultSet = $this->tableGateway->selectWith($select);
于 2014-06-12T06:39:21.330 回答
0

在您的映射器方法中尝试这样的事情:

$selectRecords = $this->tableGateway->getSql()->select();
$selectRecords->columns(array('id'))
              ->where->greaterThanOrEqualTo('dateColumn', $startDate)
                     ->lessThanOrEqualTo('dateColumn', $endDate)

; $resultSet = $this->tableGateway->selectWith($selectRecords);

于 2014-06-11T17:47:33.210 回答