0
我試着使用的QueryBuilder設置DQL查詢,但到目前爲止,還沒有很好的... 查詢我想有看起來像這樣:
$queryBuilder = Zend_Registry::get('entityManager')->createQueryBuilder();
$queryBuilder->select('s.*');
$queryBuilder->from('GPos_Model_Sale', 's');
$queryBuilder->where('s.store = ?', $authNamespace->store); //breaks on this line
$queryBuilder->andWhere('s.seller = ?', $seller->getId());
$queryBuilder->andWhere('((s.date >= ?', $dateStart);
$queryBuilder->andWhere('s.date <= ?', $dateEnd);
$queryBuilder->andWhere('s.status = "closed") OR s.status = "onhold")');
$queryBuilder->groupby('s.id');
return $queryBuilder->getQuery()->getResult();
注:我知道我可以一個接一個地使用 - >和Where等,但這只是爲了XDebug的目的。
注2:$ authNamespace-> store代表一個GPos_Model_Store實體的ID。
無論如何,我在$queryBuilder->where('s.store = ?', $authNamespace->store)
上得到一個異常,聲明:「在此上下文中不允許使用表達式」。
我嘗試使用實體本身,而不是然後我收到「在此上下文中不允許使用」GPos_Model_Store類型的表達式「。例外...
你們能指出我在這裏做錯了什麼嗎?
謝謝!
本地化過度:查詢構建器API的使用無效。 – Ocramius