こんにちは!
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'の式」を受け取りました。例外...
私がここで間違っていることを指摘できる人はいますか?
ありがとうございました!