我在Lumen v5.2.7上使用laravel-doctrine / orm v1.2.5尝试执行一个简单的请求时遇到了一个奇怪的问题。使用Oracle数据库。
当我使用包含2个以上参数的查询构建器创建查询时,即使我期待结果集,也没有结果。
$conn = $this->getEntityManager()->getConnection();
$queryBuilder = $conn->createQueryBuilder();
$queryBuilder->select('*')
->from('SYNCHS')
->where('SYNCHS.CLIENT_ID = :clientId')
->andWhere('SYNCHS.TOP_CLIENT_ID = :topClientId')
->andWhere('SYNCHS.ID = :synchId');
$queryBuilder->setParameter('clientId', $clientId)
->setParameter('topClientId', $topClientId)
->setParameter('synchId', $synchId);
echo $queryBuilder->getSQL();
var_dump($queryBuilder->getParameters());
$stmt = $queryBuilder->execute();
var_dump($stmt);
$results = $stmt->fetchAll();
dd($results);
如果我评论where / addwhere子句中的任何一个,我最终得到了预期的结果集,但是如果我在查询中绑定了超过2个参数,它什么都不返回(当然它应该返回一些传递的内容)参数)。
对于每个场景:
var_dump($queryBuilder->getParameters());
echo $queryBuilder->getSQL();
的粘贴,使用var_dump($queryBuilder->getParameters());
显示的值设置参数,给我1行(预期结果)。所以我确信我的查询是正确的。我在谷歌上搜索了几个小时但是没有针对此问题的相关结果。感谢