2014-06-11 95 views
0

我正在尋找合適的zf2語法來從數據庫中選擇時間戳/時間範圍。我知道如何發表聲明。然而似乎GREATERTHAN()和每種不超過()不與時間戳/日期工作:zf2 db sql where datetime before two we ago

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

我要選擇2個多小時之前的所有記錄。所以什麼是正確的方式來選擇日期與Zend框架2?

THX,我真的很感謝你的幫助

回答

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); 
0

嘗試這樣的事情在你的映射器的方法:

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

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

+0

同樣的問題...不使用日期! – Manuel

+0

它可以按照預期使用日期,日期時間和時間戳。請檢查'dateColumn','$ startDate'和'$ endDate'的日期格式。您需要日期值小於2小時的記錄,因此您的專欄必須是日期時間?如果是,那麼格式必須是'2014-05-06 10:20:30' –

+0

對不起,我的意思是'datecolumn'和'$ vardate'。 –