2011-09-01 152 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