2011-09-01 151 views
1

有帖子和評論表。CakePHP遞歸刪除

對於一篇文章有​​多個評論。

如果我刪除了一篇文章,那麼該文章的評論會自動在cakephp中刪除?

+0

http://book.cakephp.org/view/1039/Associations-Linking-Models-Together(查找 「依賴」) – NullUserException

+0

你希望他們被刪除? – pleasedontbelong

+0

是的,我想刪除那些帖子的評論。我怎樣才能做到這一點 ? – shibly

回答

6
var $hasMany = array(
    'Comment' => array(
    'className' => 'Comment', 
    'foreignKey' => 'post_id', 
    'dependent'=> true 
    ) 
); 
+0

'dependent'=> true是關鍵! – Marc

0

如果您使用的是foreign key ConstraintON DELETE CASCADE,是的。

See here的文檔(帶發動機InnoDB的作品)

+0

我沒有使用外部關鍵約束。 var $ hasMany = array('Comment');和var $ belongsTo = array('Post'); – shibly

1

這確實不應該達到CakePHP的......讓你的數據庫的處理,通過使用FOREIGN KEY約束,並將其設置爲ON DELETE CASCADE