2013-08-23 80 views
0

我有一個mysql數據庫,裏面有一些表。兩個表的例子:用外鍵清除表+ Propel

TABLE 「dogtoilets
- 型
- LOCATION_ID(FK)

TABLE 「位置
- 編號
- 緯度
- 經度

我的問題是如何清除表格「dogtoilets並清除我的位置表中與dogtoilets鏈接的位置?

試過,但位置不刪除...

$dogtoilets = DogToiletQuery::create() 
     ->leftJoinWith('Dogtoilet.Location') 
     ->find(); 
    $dogtoilets->delete(); 
+0

你需要一個表**位置**的主鍵'location_id'來映射** dogtoilets中的外鍵** – Saravanan

+0

我在我的位置表中有一個PK! – nielsv

+0

看看[節點''可以如何定義](http://propelorm.org/reference/schema.html#foreign-key-element)。特別是屬性'onDelete'。 – j0k

回答

2

希望這有助於: http://en.wikipedia.org/wiki/Foreign_key#CASCADE

,當你在「位置」刪除行級聯只會工作,它在「dogtoilets

在這種情況下,你應該刪除自動刪除相關行手動使用你的代碼。

+0

我該如何設置它在推進? (在我的XML架構?) – nielsv

0

一下添加到外鍵約束:

ON DELETE CASCADE; 

它會刪除與FK鏈接的所有引用的對象。

+0

我怎樣才能設置它在推進? (在我的xml架構?) – nielsv