3 namespace Doctrine\Tests\ORM\Functional\Ticket;
4 use Doctrine\ORM\UnitOfWork;
6 require_once __DIR__ . '/../../../TestInit.php';
11 class DDC1400Test extends \Doctrine\Tests\OrmFunctionalTestCase
13 protected function setUp()
18 $this->_schemaTool->createSchema(array(
19 $this->_em->getClassMetadata(__NAMESPACE__ . '\DDC1400Article'),
20 $this->_em->getClassMetadata(__NAMESPACE__ . '\DDC1400User'),
21 $this->_em->getClassMetadata(__NAMESPACE__ . '\DDC1400UserState'),
23 } catch (\Exception $ignored) {
27 public function testFailingCase()
29 $article = new DDC1400Article;
30 $user1 = new DDC1400User;
31 $user2 = new DDC1400User;
33 $this->_em->persist($article);
34 $this->_em->persist($user1);
35 $this->_em->persist($user2);
38 $userState1 = new DDC1400UserState;
39 $userState1->article = $article;
40 $userState1->articleId = $article->id;
41 $userState1->user = $user1;
42 $userState1->userId = $user1->id;
44 $userState2 = new DDC1400UserState;
45 $userState2->article = $article;
46 $userState2->articleId = $article->id;
47 $userState2->user = $user2;
48 $userState2->userId = $user2->id;
50 $this->_em->persist($userState1);
51 $this->_em->persist($userState2);
56 $user1 = $this->_em->getReference(__NAMESPACE__.'\DDC1400User', $user1->id);
58 $q = $this->_em->createQuery("SELECT a, s FROM ".__NAMESPACE__."\DDC1400Article a JOIN a.userStates s WITH s.user = :activeUser");
59 $q->setParameter('activeUser', $user1);
60 $articles = $q->getResult();
73 * @Column(type="integer")
79 * @OneToMany(targetEntity="DDC1400UserState", mappedBy="article", indexBy="userId", fetch="EXTRA_LAZY")
92 * @Column(type="integer")
98 * @OneToMany(targetEntity="DDC1400UserState", mappedBy="user", indexBy="articleId", fetch="EXTRA_LAZY")
106 class DDC1400UserState
111 * @ManyToOne(targetEntity="DDC1400Article", inversedBy="userStates")
117 * @ManyToOne(targetEntity="DDC1400User", inversedBy="userStates")
122 * @Column(name="user_id", type="integer")
127 * @Column(name="article_id", type="integer")