2011-06-05 15:57:44 +04:00
|
|
|
<?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'),
|
|
|
|
));
|
|
|
|
}
|
2011-12-20 01:56:19 +04:00
|
|
|
|
2011-06-05 15:57:44 +04:00
|
|
|
/**
|
|
|
|
* @group DDC-1181
|
|
|
|
*/
|
|
|
|
public function testIssue()
|
|
|
|
{
|
|
|
|
$hotel = new DDC1181Hotel();
|
|
|
|
$room1 = new DDC1181Room();
|
|
|
|
$room2 = new DDC1181Room();
|
2011-12-20 01:56:19 +04:00
|
|
|
|
2011-06-05 15:57:44 +04:00
|
|
|
$this->_em->persist($hotel);
|
|
|
|
$this->_em->persist($room1);
|
|
|
|
$this->_em->persist($room2);
|
|
|
|
$this->_em->flush();
|
2011-12-20 01:56:19 +04:00
|
|
|
|
2011-06-05 15:57:44 +04:00
|
|
|
$booking1 = new DDC1181Booking;
|
|
|
|
$booking1->hotel = $hotel;
|
|
|
|
$booking1->room = $room1;
|
|
|
|
$booking2 = new DDC1181Booking;
|
|
|
|
$booking2->hotel = $hotel;
|
|
|
|
$booking2->room = $room2;
|
|
|
|
$hotel->bookings[] = $booking1;
|
|
|
|
$hotel->bookings[] = $booking2;
|
2011-12-20 01:56:19 +04:00
|
|
|
|
2011-06-05 15:57:44 +04:00
|
|
|
$this->_em->persist($booking1);
|
|
|
|
$this->_em->persist($booking2);
|
|
|
|
$this->_em->flush();
|
2011-12-20 01:56:19 +04:00
|
|
|
|
2011-06-05 15:57:44 +04:00
|
|
|
$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
|
|
|
|
*
|
2011-12-20 01:56:19 +04:00
|
|
|
* @Id
|
2011-06-05 15:57:44 +04:00
|
|
|
* @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;
|
|
|
|
}
|