Skip to content

Commit 596da35

Browse files
jonnyeomgreg0ire
authored andcommitted
UPGRADE: Document QueryBuilder::setParameters() Type enforcement
1 parent 46c94e3 commit 596da35

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

UPGRADE.md

+30
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,36 @@ WARNING: This was relaxed in ORM 3.2 when partial was re-allowed for array-hydra
124124
`Doctrine\ORM\Query::HINT_FORCE_PARTIAL_LOAD` are removed.
125125
- `Doctrine\ORM\EntityManager*::getPartialReference()` is removed.
126126

127+
## BC BREAK: Enforce ArrayCollection Type on `\Doctrine\ORM\QueryBuilder::setParameters(ArrayCollection $parameters)`
128+
129+
The argument $parameters can no longer be a key=>value array. Only ArrayCollection types are allowed.
130+
131+
### Before
132+
133+
```php
134+
$qb = $em->createQueryBuilder()
135+
->select('u')
136+
->from('User', 'u')
137+
->where('u.id = :user_id1 OR u.id = :user_id2')
138+
->setParameter(array(
139+
'user_id1' => 1,
140+
'user_id2' => 2
141+
));
142+
```
143+
144+
### After
145+
146+
```php
147+
$qb = $em->createQueryBuilder()
148+
->select('u')
149+
->from('User', 'u')
150+
->where('u.id = :user_id1 OR u.id = :user_id2')
151+
->setParameter(new ArrayCollection(array(
152+
new Parameter('user_id1', 1),
153+
new Parameter('user_id2', 2)
154+
)));
155+
```
156+
127157
## BC BREAK: `Doctrine\ORM\Persister\Entity\EntityPersister::executeInserts()` return type changed to `void`
128158

129159
Implementors should adapt to the new signature, and should call

0 commit comments

Comments
 (0)