1
0
mirror of synced 2024-12-14 07:06:04 +03:00

DDC-1515 - Merge from 2.1.x

This commit is contained in:
Benjamin Eberlei 2011-12-11 16:07:35 +01:00
parent 954b5077e4
commit bd0fb574e3
3 changed files with 67 additions and 2 deletions

View File

@ -244,6 +244,7 @@ abstract class AbstractHydrator
if (isset($cache[$key]['isMetaColumn'])) {
if ( ! isset($rowData[$dqlAlias][$cache[$key]['fieldName']]) || $value !== null) {
$nonemptyComponents[$dqlAlias] = true;
$rowData[$dqlAlias][$cache[$key]['fieldName']] = $value;
}

View File

@ -332,9 +332,9 @@ class ObjectHydrator extends AbstractHydrator
// Hydrate the data chunks
foreach ($rowData as $dqlAlias => $data) {
$entityName = $this->_rsm->aliasMap[$dqlAlias];
if (isset($this->_rsm->parentAliasMap[$dqlAlias])) {
// It's a joined result
// It's a joined result
$parentAlias = $this->_rsm->parentAliasMap[$dqlAlias];
// we need the $path to save into the identifier map which entities were already

View File

@ -0,0 +1,64 @@
<?php
namespace Doctrine\Tests\ORM\Functional\Ticket;
/**
* @group DDC-1515
*/
class DDC1515Test extends \Doctrine\Tests\OrmFunctionalTestCase
{
public function setUp()
{
parent::setUp();
$this->_schemaTool->createSchema(array(
$this->_em->getClassMetadata(__NAMESPACE__ . '\\DDC1515Foo'),
$this->_em->getClassMetadata(__NAMESPACE__ . '\\DDC1515Bar'),
));
}
public function testIssue()
{
$bar = new DDC1515Bar();
$this->_em->persist($bar);
$this->_em->flush();
$foo = new DDC1515Foo();
$foo->bar = $bar;
$this->_em->persist($foo);
$this->_em->flush();
$this->_em->clear();
$bar = $this->_em->find(__NAMESPACE__ . '\DDC1515Bar', $bar->id);
$this->assertInstanceOf(__NAMESPACE__.'\DDC1515Foo', $bar->foo);
}
}
/**
* @Entity
*/
class DDC1515Foo
{
/**
* @OneToOne(targetEntity="DDC1515Bar", inversedBy="foo") @Id
*/
public $bar;
}
/**
* @Entity
*/
class DDC1515Bar
{
/**
* @Id @Column(type="integer") @GeneratedValue
*/
public $id;
/**
* @OneToOne(targetEntity="DDC1515Foo", mappedBy="bar")
*/
public $foo;
}