你好!
我尝试使用 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();
注意:我知道我可以一个接一个地使用 ->andWhere 等,但这只是为了 XDebug 目的。
注意2:$authNamespace->store 代表 GPos_Model_Store 实体的 ID。
无论如何,我得到一个例外$queryBuilder->where('s.store = ?', $authNamespace->store)
声明:“在这种情况下不允许表达类型''。”
我尝试使用实体本身,但随后收到“在此上下文中不允许使用 'GPos_Model_Store' 类型的表达式”。例外...
你们中的任何人都可以指出我在这里做错了什么吗?
谢谢!