的Bonjour,
我遇到QueryBuilder的简单请求有问题:
$query->where('ec.codeModePrelevement IN (:cbMode)')
->setParameter('cbMode', $modes)
->andWhere('ec.idStatusPaiement = :status')
->setParameter('status', EcheancesStatut::__EN_ATTENTE_PAIEMENT__)
->andWhere($query->expr()->eq('ec.idProduit',1))
->andWhere('ec.idProduit = :idProduit')
->setParameter('idProduit', 1 )
;
这使我无法返回结果,好像在数据库中没有用户对应于此:user = 1 codeproduit = 1且modePaiement = VM或VMMANO。 我已经验证了所有可能的拼写错误。并且数据库中对应的用户确实存在。
我试图删除id produit过滤器“工作”我有一些结果:
$modes = array('VM','VMMANO');
$query->where('ec.codeModePrelevement IN (:cbMode)')
->setParameter('cbMode', $modes)
->andWhere('ec.idStatusPaiement = :status')
->setParameter('status', EcheancesStatut::__EN_ATTENTE_PAIEMENT__)
/*->andWhere('ec.idProduit = :idProduit')
->setParameter('idProduit', 1 )*/
;
这“适用于”(删除modePaiement过滤器):
$query/*->where('ec.codeModePrelevement IN (:cbMode)')
->setParameter('cbMode', $modes)*/
->where('ec.idStatusPaiement = :status')
->setParameter('status', EcheancesStatut::__EN_ATTENTE_PAIEMENT__)
->andWhere('ec.idProduit = :idProduit')
->setParameter('idProduit', 1 )
;
但这不会给我留下任何结果(删除状态付款过滤器):
$query->where('ec.codeModePrelevement IN (:cbMode)')
->setParameter('cbMode', $modes)
/*->where('ec.idStatusPaiement = :status')
->setParameter('status', EcheancesStatut::__EN_ATTENTE_PAIEMENT__)*/
->andWhere('ec.idProduit = :idProduit')
->setParameter('idProduit', 1 )
;
如果你看到我不知道的东西,你能帮助我吗?谢谢。