2013-10-07 44 views
1

删除两排在一起我有两个表,这两个有像如何使用外键关系

class Lesson 
{ 
/** 
* @var integer 
* 
* @ORM\Column(name="id", type="integer") 
* @ORM\Id 
* @ORM\GeneratedValue(strategy="AUTO") 
*/ 
private $id; 



class TicketUse 
{ 
/** 
* 
* @ORM\ManyToOne(targetEntity="Acme\UserBundle\Entity\Lesson") 
* @ORM\JoinColumn(name="lessonId", referencedColumnName="id") 
*/ 

private $lessonId; 

这两个表的关系舰艇关系。

如果一课行存在,ticketUse一个行存在或不存在。

如果ticketUse一个行存在总是有在课一排组合。

当我尝试删除行课 'DELETE FROM WHERE课ID = 1'

它显示错误。

SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails 

我想在删除课程时自动删除TicketUse。

是否有删除这两个在一起好办法吗?

我有两个写,删除每个句子?

回答

3

为您的FOREIGN KEY的关系,添加ON UPDATE CASCADE
那么你将可以根据你的需要删除。
当您将删除父母时,更改将自动反映给孩子。

+0

谢谢它完美的作品 – whitebear