我想在Doctrine中寫一個查詢,將返回在特定numbr天數內添加的記錄,我在查詢中有這條線但不起作用預計:在DQL中查詢表以獲取過去一週創建的記錄
$q->andWhere('g.date_added >= ?', array(strtotime('-'.$recent_interval.' day')));
date_added是一個mySQL時間戳。
recent_interval是天數。
我使用學說-1.2.4與Zend框架1.11.7
欣賞的幫助。
我想在Doctrine中寫一個查詢,將返回在特定numbr天數內添加的記錄,我在查詢中有這條線但不起作用預計:在DQL中查詢表以獲取過去一週創建的記錄
$q->andWhere('g.date_added >= ?', array(strtotime('-'.$recent_interval.' day')));
date_added是一個mySQL時間戳。
recent_interval是天數。
我使用學說-1.2.4與Zend框架1.11.7
欣賞的幫助。
MySQL時間戳的格式爲YYYY-MM-DD HH:MM:SS
。您將它與UNIX時間戳進行比較,該時間戳是從strtotime()
返回的數字。
您需要先將UNIX時間戳轉換爲MySQL時間戳才能使其工作。
要格式化UNIX時間戳,您可以使用PHP date()
函數。格式是Y-m-d H:i:s
。
例子:
$compare = date('Y-m-d H:i:s', strtotime('-'.$recent_interval.' day'));
$q->andWhere('g.date_added >= ?', array($compare));
你忘了給數組更改爲教義的理解:
下面顯示了你該怎麼做:
- > andWhere(「G .date_added> =?',date('Ym-d',strtotime(「 - 2 weeks」)))
很明顯,你會想做:strtotime(' - '。$ recent_interval。'day'),而不是我-2周的例子。 – Eljakim
謝謝兄弟,作爲現在預計。 – Sid