Skip to content

Commit aa645ad

Browse files
committed
fix doctrine parameters
1 parent b5892fe commit aa645ad

File tree

2 files changed

+23
-3
lines changed

2 files changed

+23
-3
lines changed

src/DBALQueryBuilder.php

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,15 @@ class DBALQueryBuilder extends AbstractQueryBuilder implements QueryBuilderInter
3232
* @var array
3333
*/
3434
protected $parametersTypes = [];
35+
/**
36+
* @var array
37+
*/
38+
protected $originalParameters;
39+
40+
/**
41+
* @var array
42+
*/
43+
protected $originalParametersTypes = [];
3544

3645
/**
3746
* @param QueryBuilder $queryBuilder
@@ -40,6 +49,8 @@ public function __construct(QueryBuilder $queryBuilder)
4049
{
4150
parent::__construct($queryBuilder);
4251
$this->parameters = [];
52+
$this->originalParameters = $this->queryBuilder->getParameters();
53+
$this->originalParametersTypes = $this->queryBuilder->getParameterTypes();
4354
}
4455

4556
/**
@@ -57,7 +68,10 @@ public function buildWhere(ContainerInterface $container)
5768
if ($this->condition = $this->trimAndOr($condition)) {
5869
$this->queryBuilder->andWhere($this->condition);
5970
if (count($this->parameters)) {
60-
$this->queryBuilder->setParameters($this->parameters, $this->parametersTypes);
71+
$this->queryBuilder->setParameters(
72+
array_merge($this->originalParameters, $this->parameters),
73+
array_merge($this->originalParametersTypes, $this->parametersTypes)
74+
);
6175
}
6276
}
6377

src/ORMQueryBuilder.php

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,10 @@ class ORMQueryBuilder extends AbstractQueryBuilder implements QueryBuilderInterf
3333
* @var ArrayCollection|Parameter[]
3434
*/
3535
protected $parameters;
36+
/**
37+
* @var array
38+
*/
39+
protected $originalParameters;
3640

3741
/**
3842
* ORMQueryBuilder constructor.
@@ -45,6 +49,8 @@ public function __construct(QueryBuilder $queryBuilder)
4549
{
4650
parent::__construct($queryBuilder);
4751
$this->parameters = new ArrayCollection();
52+
$this->originalParameters = $this->queryBuilder->getParameters();
53+
$this->originalParametersTypes = $this->queryBuilder->getParameterTypes();
4854
}
4955

5056
/**
@@ -60,8 +66,8 @@ public function buildWhere(ContainerInterface $container)
6066
$condition = $this->doBuildWhere($container);
6167
if ($this->condition = $this->trimAndOr($condition)) {
6268
$this->queryBuilder->andWhere($this->condition);
63-
if ($this->parameters->count()) {
64-
$this->queryBuilder->setParameters($this->parameters);
69+
foreach ($this->parameters as $parameter) {
70+
$this->queryBuilder->getParameters()->add($parameter);
6571
}
6672
}
6773

0 commit comments

Comments
 (0)