Skip to content

Commit

Permalink
Merge branch 'DDC-742'
Browse files Browse the repository at this point in the history
  • Loading branch information
beberlei committed Aug 15, 2010
2 parents 9878512 + 6f4f8f8 commit dd55741
Show file tree
Hide file tree
Showing 2 changed files with 110 additions and 0 deletions.
1 change: 1 addition & 0 deletions lib/Doctrine/ORM/UnitOfWork.php
Expand Up @@ -1941,6 +1941,7 @@ public function createEntity($className, array $data, &$hints = array())
$pColl->setInitialized(false);
} else {
$this->loadCollection($pColl);
$pColl->takeSnapshot();
}
$this->originalEntityData[$oid][$field] = $pColl;
}
Expand Down
109 changes: 109 additions & 0 deletions tests/Doctrine/Tests/ORM/Functional/Ticket/DDC742Test.php
@@ -0,0 +1,109 @@
<?php

namespace Doctrine\Tests\ORM\Functional\Ticket;

use Doctrine\Common\Collections\ArrayCollection;

require_once __DIR__ . '/../../../TestInit.php';

class DDC742Test extends \Doctrine\Tests\OrmFunctionalTestCase
{
protected function setUp()
{
parent::setUp();
try {
$this->_schemaTool->createSchema(array(
$this->_em->getClassMetadata(__NAMESPACE__ . '\DDC742User'),
$this->_em->getClassMetadata(__NAMESPACE__ . '\DDC742Comment')
));
} catch(\Exception $e) {

}
}

public function testIssue()
{
$user = new DDC742User();
$user->title = "Foo";
$user->favoriteComments = new ArrayCollection();

$comment1 = new DDC742Comment();
$comment1->content = "foo";

$comment2 = new DDC742Comment();
$comment2->content = "bar";

$comment3 = new DDC742Comment();
$comment3->content = "baz";

$user->favoriteComments->add($comment1);
$user->favoriteComments->add($comment2);

$this->_em->persist($user);
$this->_em->persist($comment1);
$this->_em->persist($comment2);
$this->_em->persist($comment3);
$this->_em->flush();
$this->_em->clear();

$user = $this->_em->find(get_class($user), $user->id);
$comment3 = $this->_em->find(get_class($comment3), $comment3->id);
$user->favoriteComments->add($comment3);
$this->_em->flush();
}
}

/**
* @Entity
* @Table(name="users")
*/
class DDC742User
{
/**
* User Id
*
* @Id
* @GeneratedValue(strategy="AUTO")
* @Column(type="integer")
* @var integer
*/
public $id;
/**
* @Column(length=100, type="string")
* @var string
*/
public $title;
/**
* @ManyToMany(targetEntity="DDC742Comment", cascade={"persist"}, fetch="EAGER")
* @JoinTable(
* name="user_comments",
* joinColumns={@JoinColumn(name="user_id",referencedColumnName="id")},
* inverseJoinColumns={@JoinColumn(name="comment_id", referencedColumnName="id")}
* )
*
* @var Doctrine\ORM\PersistentCollection
*/
public $favoriteComments;
}

/**
* @Entity
* @Table(name="comments")
*/
class DDC742Comment
{
/**
* User Id
*
* @Id
* @GeneratedValue(strategy="AUTO")
* @Column(type="integer")
* @var integer
*/
public $id;
/**
* @Column(length=100, type="string")
* @var string
*/
public $content;
}

0 comments on commit dd55741

Please sign in to comment.