Symfony1 symfony 1.4链接相关表的删除前事件
有没有办法在Symfony 1.4中链接preDelete()事件 我有两张桌子:一张主桌和一张从桌。在schema.yml中,我定义了它们,以便在主记录被删除时,从记录级联删除 但是,从属删除过程还需要运行一些预处理,我打算在从属记录定义的preDelete事件方法中编写这些预处理 如果我单独删除从属记录,我可以访问这个preDelete()事件,但是如果我通过主记录删除从属记录,我只能访问主记录定义中的preDelete()事件。我可以通过主事件访问从事件中的preDelete事件吗 有关守则如下: schema.ymlSymfony1 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事件吗 有关守
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]
还请注意,在这种情况下,您必须在另一侧定义关系