Symfony1 symfony 1.4链接相关表的删除前事件

Symfony1 symfony 1.4链接相关表的删除前事件,symfony1,symfony-1.4,cascading-deletes,Symfony1,Symfony 1.4,Cascading Deletes,有没有办法在Symfony 1.4中链接preDelete()事件 我有两张桌子:一张主桌和一张从桌。在schema.yml中,我定义了它们,以便在主记录被删除时,从记录级联删除 但是,从属删除过程还需要运行一些预处理,我打算在从属记录定义的preDelete事件方法中编写这些预处理 如果我单独删除从属记录,我可以访问这个preDelete()事件,但是如果我通过主记录删除从属记录,我只能访问主记录定义中的preDelete()事件。我可以通过主事件访问从事件中的preDelete事件吗 有关守

有没有办法在Symfony 1.4中链接preDelete()事件

我有两张桌子:一张主桌和一张从桌。在schema.yml中,我定义了它们,以便在主记录被删除时,从记录级联删除

但是,从属删除过程还需要运行一些预处理,我打算在从属记录定义的preDelete事件方法中编写这些预处理

如果我单独删除从属记录,我可以访问这个preDelete()事件,但是如果我通过主记录删除从属记录,我只能访问主记录定义中的preDelete()事件。我可以通过主事件访问从事件中的preDelete事件吗

有关守则如下:

schema.yml

Master:
  relations:
    Slave:

Slave:
  relations:
    Master:
      onDelete: CASCADE
lib/model/doctrine/Master.class.php

class Master extends BaseMaster
{
  public function preDelete($event)
  {
    //master predelete processing...
  }
}
class Slave extends BaseSlave
{
  public funcion preDelete($event)
  {
    //slave predelete processing...
  }
}
lib/model/doctrine/Slave.class.php

class Master extends BaseMaster
{
  public function preDelete($event)
  {
    //master predelete processing...
  }
}
class Slave extends BaseSlave
{
  public funcion preDelete($event)
  {
    //slave predelete processing...
  }
}

这是行不通的,因为“onDelete:CASCADE”是一个数据库事件,因此无法将其与代码挂钩。要做到这一点,您需要使用应用程序级联删除,但效率较低

Slave:
  columns:
    master_id: integer

Master:
  columns: ~
  relations:
    Slave:
      local: id
      foreign: master_id
      type: many
      foreignType: one
      cascade: [delete]
还请注意,在这种情况下,您必须在另一侧定义关系