Exception DQL QueryBuilder异常

Exception DQL QueryBuilder异常,exception,doctrine-orm,dql,Exception,Doctrine Orm,Dql,你好! 我曾尝试使用QueryBuilder设置DQL查询,但到目前为止没有效果。。。 我想要的查询如下所示: $queryBuilder = Zend_Registry::get('entityManager')->createQueryBuilder(); $queryBuilder->select('s.*'); $queryBuilder->from('GPos_Model_Sale', 's'); $queryBuilder->where('s.store =

你好!

我曾尝试使用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_存储实体的ID

无论如何,我在$queryBuilder->where's.store=?',$authNamespace->store stating:此上下文中不允许类型的表达式上遇到异常

我尝试使用一个实体本身,但随后我收到了一个在这种上下文中不允许使用的“GPos\U Model\U Store”类型的表达式。例外

你们谁能指出我做错了什么

谢谢大家!

发现了我的错误

将我的查询更改为:

$queryBuilder = Zend_Registry::get('entityManager')->createQueryBuilder();
$queryBuilder->select('s');
$queryBuilder->from('GPos_Model_Sale', 's');
$queryBuilder->where('s.store = :store');
$queryBuilder->andWhere('s.seller = :seller');
$queryBuilder->andWhere('((s.date >= :dateStart');
$queryBuilder->andWhere('s.date <= :dateEnd');
$queryBuilder->andWhere('s.status = \'closed\') OR s.status = \'onhold\')');
$queryBuilder->groupby('s.id');
$queryBuilder->setParameter('store', $store->getId());
$queryBuilder->setParameter('seller', $seller->getId());
$queryBuilder->setParameter('dateStart', $dateStart->format('Y-m-d H:i:s'));
$queryBuilder->setParameter('dateEnd', $dateEnd->format('Y-m-d H:i:s'));
return $queryBuilder->getQuery()->getResult();
现在它像一个符咒一样工作。

发现了我的错误

将我的查询更改为:

$queryBuilder = Zend_Registry::get('entityManager')->createQueryBuilder();
$queryBuilder->select('s');
$queryBuilder->from('GPos_Model_Sale', 's');
$queryBuilder->where('s.store = :store');
$queryBuilder->andWhere('s.seller = :seller');
$queryBuilder->andWhere('((s.date >= :dateStart');
$queryBuilder->andWhere('s.date <= :dateEnd');
$queryBuilder->andWhere('s.status = \'closed\') OR s.status = \'onhold\')');
$queryBuilder->groupby('s.id');
$queryBuilder->setParameter('store', $store->getId());
$queryBuilder->setParameter('seller', $seller->getId());
$queryBuilder->setParameter('dateStart', $dateStart->format('Y-m-d H:i:s'));
$queryBuilder->setParameter('dateEnd', $dateEnd->format('Y-m-d H:i:s'));
return $queryBuilder->getQuery()->getResult();

现在它就像一个魔咒。

太本地化:查询生成器API的用法无效。太本地化:查询生成器API的用法无效。