123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- <?php
-
- namespace Doctrine\Tests\ORM\Functional\Ticket;
-
- require_once __DIR__ . '/../../../TestInit.php';
-
- class DDC1181Test extends \Doctrine\Tests\OrmFunctionalTestCase
- {
- public function setUp()
- {
- parent::setUp();
- $this->_schemaTool->createSchema(array(
- $this->_em->getClassMetadata(__NAMESPACE__ . '\\DDC1181Hotel'),
- $this->_em->getClassMetadata(__NAMESPACE__ . '\\DDC1181Booking'),
- $this->_em->getClassMetadata(__NAMESPACE__ . '\\DDC1181Room'),
- ));
- }
-
- /**
- * @group DDC-1181
- */
- public function testIssue()
- {
- $hotel = new DDC1181Hotel();
- $room1 = new DDC1181Room();
- $room2 = new DDC1181Room();
-
- $this->_em->persist($hotel);
- $this->_em->persist($room1);
- $this->_em->persist($room2);
- $this->_em->flush();
-
- $booking1 = new DDC1181Booking;
- $booking1->hotel = $hotel;
- $booking1->room = $room1;
- $booking2 = new DDC1181Booking;
- $booking2->hotel = $hotel;
- $booking2->room = $room2;
- $hotel->bookings[] = $booking1;
- $hotel->bookings[] = $booking2;
-
- $this->_em->persist($booking1);
- $this->_em->persist($booking2);
- $this->_em->flush();
-
- $this->_em->remove($hotel);
- $this->_em->flush();
- }
- }
-
- /**
- * @Entity
- */
- class DDC1181Hotel
- {
- /** @Id @Column(type="integer") @GeneratedValue */
- public $id;
-
- /**
- * @oneToMany(targetEntity="DDC1181Booking", mappedBy="hotel", cascade={"remove"})
- * @var Booking[]
- */
- public $bookings;
-
- }
-
- /**
- * @Entity
- */
- class DDC1181Booking
- {
- /**
- * @var Hotel
- *
- * @Id
- * @ManyToOne(targetEntity="DDC1181Hotel", inversedBy="bookings")
- * @JoinColumns({
- * @JoinColumn(name="hotel_id", referencedColumnName="id")
- * })
- */
- public $hotel;
- /**
- * @var Room
- *
- * @Id
- * @ManyToOne(targetEntity="DDC1181Room")
- * @JoinColumns({
- * @JoinColumn(name="room_id", referencedColumnName="id")
- * })
- */
- public $room;
- }
-
- /**
- * @Entity
- */
- class DDC1181Room
- {
- /** @Id @Column(type="integer") @GeneratedValue */
- public $id;
- }
|