连接提交后的Doctrine和存储过程

时间:2013-03-07 17:38:39

标签: mysql stored-procedures triggers doctrine connection

我正在尝试在项目中调用存储过程,在保存对象之后(就像触发器一样,但是MySQL不允许在触发器中调用存储过程)。

首先尝试:我在Doctrine_Record中的postInsert()钩子中编写了调用。此时,事务没有提交到数据库,所以错误的方式。

第二次尝试:我写了一个EventListener并调用postTransactionCommit()事件。它工作正常,除了我不能在这个级别知道修改了哪个表。我可以知道在这个连接中“初始化”了哪些表,但这就是全部。如果我在事务中只做一个SELECT,我不想调用我的存储过程。

所以现在我被困了......你看到我没有跟随的领先优势吗?

由于

1 个答案:

答案 0 :(得分:0)

我通过覆盖Doctrine_Record中的save()方法解决了这个问题,所以在save()之后才进行连接。