zf2 db sql两小时前的datetime

时间:2014-06-11 16:03:59

标签: mysql zend-framework2 zend-db zend-db-table zend-db-select

我正在寻找合适的zf2语法来从数据库中选择时间戳/时间范围。我知道如何做出陈述。但是,似乎greaterThan()和lessThan()不能使用timestamps / datetime:

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

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

谢谢,我真的很感谢你的帮助

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

在mapper方法中尝试这样的事情:

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

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