2013-10-07 47 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