【问题标题】:how can delete parent bean with its children object using redbeanphp?如何使用 redbeanphp 删除父 bean 及其子对象?
【发布时间】:2015-08-11 06:52:42
【问题描述】:

我有一个名为Child 的表,它有一个来自Parent 表的外键。现在,我需要完全删除一个父行及其子行。我在redbeanphp中使用了这段代码:

R::trash(parent);

但由于子表中的引用,它会引发约束异常。
我怎样才能一步删除 bean 及其子项?

【问题讨论】:

  • child 表中使用on delete casecade 选项

标签: php mysql redbean


【解决方案1】:

如果您希望这种行为是开箱即用的,您可以定义外键来执行此操作。在 MySQL 中,这将在定义外键时使用 ON DELETE CASCADE 完成。 Here's the documentation.

如果您希望在 PHP 端完成,则必须手动完成;

R::exec('DELETE FROM child_table WHERE parent_id = :pid', array('pid' => $parent->id));

(可能有一种更“bean”的方式来做到这一点,不过我还没有真正进入它)

【讨论】:

  • 我知道删除级联,但我想知道 redbeanphp 围绕这个主题的邻接能力。但是在删除级联时没有必要
猜你喜欢
  • 1970-01-01
  • 2019-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多