我有一个名为Child
的表,其Parent
表中有外键。现在,我需要完全删除其子行的父行。我在redbeanphp
:
R::trash(parent);
但由于子表中的引用,它会抛出约束异常。
如何在一步中删除带有子节点的bean?
答案 0 :(得分:2)
如果您希望此行为是开箱即用的,则可以定义外键来执行此操作。在MySQL中,这将在定义外键时使用ON DELETE CASCADE
完成。 Here's the documentation.
如果你想在PHP方面完成它,你必须手动完成;
R::exec('DELETE FROM child_table WHERE parent_id = :pid', array('pid' => $parent->id));
(可能会有更多的" bean"这样做的方式,但我还没有真正进入它)