0
我需要上個月創建的表中的所有數據。我已經創建了下面的代碼,但是它在DQL中給出了以下錯誤,但是SQL查詢在運行時是正確的。從Doctrine2上個月獲取數據
錯誤:
[Syntax Error] line 0, col 138: Error: Expected Doctrine\ORM\Query\Lexer::T_CLOSE_PARENTHESIS, got '-'
碼是:
$compCases = $this->getDoctrine()
->getRepository('EFuturesCrmBundle:CasesCompensation')
->createQueryBuilder('c')
->select('c.id')
->where('c.caseStatus =:status')
->andWhere('YEAR(c.caseStatusDate) = YEAR(CURRENT_DATE - INTERVAL 1 MONTH)')
->andWhere('MONTH(c.caseStatusDate) = MONTH(CURRENT_DATE - INTERVAL 1 MONTH)')
->setParameter('status', 'resolve')
->getQuery()
->getResult();
DQL不支持INTERVAL
所以在Doctrine2中這怎麼可能?
這是解決問題的一部分。但是我想從今天獲取數據。它應該是上個月的最後一個日期到上個月的第一個日期。 我怎樣才能得到上個月的最後一個日期而不是'現在= new DateTime('now');'? – Miuranga
好吧,像這樣的例子:'$ from = new \ DateTime('上個月的第一天00:00:00'); $ to = new \ DateTime('本月的第一天00:00:00');' – scoolnico