3 namespace Doctrine\Tests\ORM\Functional\Ticket;
4 use Doctrine\ORM\UnitOfWork;
6 require_once __DIR__ . '/../../../TestInit.php';
11 class DDC1392Test extends \Doctrine\Tests\OrmFunctionalTestCase
13 protected function setUp()
18 $this->_schemaTool->createSchema(array(
19 $this->_em->getClassMetadata(__NAMESPACE__ . '\DDC1392File'),
20 $this->_em->getClassMetadata(__NAMESPACE__ . '\DDC1392Picture'),
22 } catch (\Exception $ignored) {
26 public function testFailingCase()
28 $file = new DDC1392File;
30 $picture = new DDC1392Picture;
31 $picture->setFile($file);
34 $em->persist($picture);
38 $fileId = $file->getFileId();
39 $pictureId = $picture->getPictureId();
41 $this->assertTrue($fileId > 0);
43 $picture = $em->find(__NAMESPACE__ . '\DDC1392Picture', $pictureId);
44 $this->assertEquals(UnitOfWork::STATE_MANAGED, $em->getUnitOfWork()->getEntityState($picture->getFile()), "Lazy Proxy should be marked MANAGED.");
46 $file = $picture->getFile();
48 // With this activated there will be no problem
51 $picture->setFile(null);
59 $q = $this->_em->createQuery("SELECT COUNT(e) FROM " . __NAMESPACE__ . '\DDC1392File e');
60 $result = $q->getSingleScalarResult();
62 self::assertEquals(1, $result);
72 * @Column(name="picture_id", type="integer")
78 * @ManyToOne(targetEntity="DDC1392File", cascade={"persist", "remove"})
79 * @JoinColumn(name="file_id", referencedColumnName="file_id")
86 public function getPictureId()
88 return $this->pictureId;
94 public function setFile($value = null)
102 public function getFile()
114 * @Column(name="file_id", type="integer")
116 * @GeneratedValue(strategy="AUTO")
123 public function getFileId()
125 return $this->fileId;