Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 9ad5d88

Browse files
committed
Default Version Value identifier is always an array
1 parent bb72803 commit 9ad5d88

2 files changed

Lines changed: 15 additions & 13 deletions

File tree

lib/Doctrine/ORM/Persisters/Entity/BasicEntityPersister.php

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -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));

lib/Doctrine/ORM/Persisters/Entity/JoinedSubclassPersister.php

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -176,8 +176,11 @@ public function executeInserts()
176176
$rootTableStmt->execute();
177177

178178
if ($isPostInsertId) {
179-
$id = $idGenerator->generate($this->em, $entity);
180-
$postInsertIds[$id] = $entity;
179+
$generatedId = $idGenerator->generate($this->em, $entity);
180+
$id = array(
181+
$this->class->identifier[0] => $generatedId
182+
);
183+
$postInsertIds[$generatedId] = $entity;
181184
} else {
182185
$id = $this->em->getUnitOfWork()->getEntityIdentifier($entity);
183186
}
@@ -572,7 +575,7 @@ protected function getInsertColumnList()
572575
/**
573576
* {@inheritdoc}
574577
*/
575-
protected function assignDefaultVersionValue($entity, $id)
578+
protected function assignDefaultVersionValue($entity, array $id)
576579
{
577580
$value = $this->fetchVersionValue($this->getVersionedClassMetadata(), $id);
578581
$this->class->setFieldValue($entity, $this->class->versionField, $value);

0 commit comments

Comments
 (0)