2013-08-23 39 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