[DDC-1964] Fix issue with refresh and and object hydrator not setting field to null explicitly to override possible previous values.
This commit is contained in:
parent
fc4a07c2b3
commit
7c1235dedb
@ -448,6 +448,7 @@ class ObjectHydrator extends AbstractHydrator
|
||||
$this->_resultPointers[$dqlAlias] = $element;
|
||||
} else {
|
||||
$this->_uow->setOriginalEntityProperty($oid, $relationField, null);
|
||||
$reflField->setValue($parentObject, null);
|
||||
}
|
||||
// else leave $reflFieldValue null for single-valued associations
|
||||
} else {
|
||||
|
@ -182,7 +182,10 @@ class OneToOneEagerLoadingTest extends \Doctrine\Tests\OrmFunctionalTestCase
|
||||
$this->_sqlLoggerStack->queries[$this->_sqlLoggerStack->currentQuery]['sql']
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @group DDC-1946
|
||||
*/
|
||||
public function testEagerLoadingDoesNotBreakRefresh()
|
||||
{
|
||||
$train = new Train(new TrainOwner('Johannes'));
|
||||
@ -190,12 +193,12 @@ class OneToOneEagerLoadingTest extends \Doctrine\Tests\OrmFunctionalTestCase
|
||||
$this->_em->persist($train);
|
||||
$this->_em->persist($order);
|
||||
$this->_em->flush();
|
||||
|
||||
|
||||
$this->_em->getConnection()->exec("UPDATE TrainOrder SET train_id = NULL");
|
||||
|
||||
|
||||
$this->assertSame($train, $order->train);
|
||||
$this->_em->refresh($order);
|
||||
$this->assertNull($order->train);
|
||||
$this->assertTrue($order->train === null, "Train reference was not refreshed to NULL.");
|
||||
}
|
||||
}
|
||||
|
||||
@ -332,9 +335,9 @@ class TrainOrder
|
||||
|
||||
/** @OneToOne(targetEntity = "Train", fetch = "EAGER") */
|
||||
public $train;
|
||||
|
||||
|
||||
public function __construct(Train $train)
|
||||
{
|
||||
$this->train = $train;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -5,6 +5,9 @@ use Doctrine\ORM\Query;
|
||||
|
||||
require_once __DIR__ . '/../../../TestInit.php';
|
||||
|
||||
/**
|
||||
* @group DDC-371
|
||||
*/
|
||||
class DDC371Test extends \Doctrine\Tests\OrmFunctionalTestCase
|
||||
{
|
||||
protected function setUp()
|
||||
|
Loading…
Reference in New Issue
Block a user