@@ -281,8 +281,11 @@ public function executeInserts()
281281 $ stmt ->execute ();
282282
283283 if ($ isPostInsertId ) {
284- $ id = $ idGenerator ->generate ($ this ->em , $ entity );
285- $ postInsertIds [$ id ] = $ entity ;
284+ $ generatedId = $ idGenerator ->generate ($ this ->em , $ entity );
285+ $ id = array (
286+ $ this ->class ->identifier [0 ] => $ generatedId
287+ );
288+ $ postInsertIds [$ generatedId ] = $ entity ;
286289 } else {
287290 $ id = $ this ->class ->getIdentifierValues ($ entity );
288291 }
@@ -304,11 +307,11 @@ public function executeInserts()
304307 * entities version field.
305308 *
306309 * @param object $entity
307- * @param mixed $id
310+ * @param array $id
308311 *
309312 * @return void
310313 */
311- protected function assignDefaultVersionValue ($ entity , $ id )
314+ protected function assignDefaultVersionValue ($ entity , array $ id )
312315 {
313316 $ value = $ this ->fetchVersionValue ($ this ->class , $ id );
314317
@@ -319,11 +322,11 @@ protected function assignDefaultVersionValue($entity, $id)
319322 * Fetches the current version value of a versioned entity.
320323 *
321324 * @param \Doctrine\ORM\Mapping\ClassMetadata $versionedClass
322- * @param mixed $id
325+ * @param array $id
323326 *
324327 * @return mixed
325328 */
326- protected function fetchVersionValue ($ versionedClass , $ id )
329+ protected function fetchVersionValue ($ versionedClass , array $ id )
327330 {
328331 $ versionField = $ versionedClass ->versionField ;
329332 $ tableName = $ this ->quoteStrategy ->getTableName ($ versionedClass , $ this ->platform );
@@ -335,10 +338,6 @@ protected function fetchVersionValue($versionedClass, $id)
335338 . ' FROM ' . $ tableName
336339 . ' WHERE ' . implode (' = ? AND ' , $ identifier ) . ' = ? ' ;
337340
338- if (!is_array ($ id )) {
339- $ id = array ($ this ->class ->identifier [0 ] => $ id );
340- }
341-
342341 $ flatId = $ this ->identifierFlattener ->flattenIdentifier ($ versionedClass , $ id );
343342
344343 $ value = $ this ->conn ->fetchColumn ($ sql , array_values ($ flatId ));
0 commit comments