如何使用redbeanphp删除父bean及其子对象?
how can delete parent bean with its children object using redbeanphp?
我有一个名为 Child
的 table,它有一个来自 Parent
table 的 外键 。现在,我需要完全删除父行及其子行。我在 redbeanphp
:
中使用此代码
R::trash(parent);
但由于在子 table 中引用,它会抛出约束异常。
如何一步删除一个 bean 及其子 bean?
如果您希望此行为开箱即用,您可以定义外键来实现。在 MySQL 中,这将在定义外键时用 ON DELETE CASCADE
完成。 Here's the documentation.
如果你想在 PHP 端完成,你必须手动完成;
R::exec('DELETE FROM child_table WHERE parent_id = :pid', array('pid' => $parent->id));
(可能还有更多 "bean" 方法可以做到这一点,不过我还没有真正了解它)
我有一个名为 Child
的 table,它有一个来自 Parent
table 的 外键 。现在,我需要完全删除父行及其子行。我在 redbeanphp
:
R::trash(parent);
但由于在子 table 中引用,它会抛出约束异常。
如何一步删除一个 bean 及其子 bean?
如果您希望此行为开箱即用,您可以定义外键来实现。在 MySQL 中,这将在定义外键时用 ON DELETE CASCADE
完成。 Here's the documentation.
如果你想在 PHP 端完成,你必须手动完成;
R::exec('DELETE FROM child_table WHERE parent_id = :pid', array('pid' => $parent->id));
(可能还有更多 "bean" 方法可以做到这一点,不过我还没有真正了解它)