Zend_Db_Table级联DELETE不起作用

时间:2011-02-15 22:15:43

标签: zend-framework zend-db zend-db-table

我正在开发一个使用zend框架1.10,PHP 5.3和MySQL来管理律师事务所的应用程序,我已经在两个表之间建立了关系,我想做级联删除但是它不起作用,我尝试了所有可能性但是没什么...

这是父模型,参考所有过程

<?php
class Application_Model_ProcessosJudicial extends Zend_Db_table {

    protected $_name = "processos_judicial";
    protected $_dependentTables = array('Application_Model_Partes', 'Application_Model_Andamentos');
    protected $_referenceMap = array(
        'Andamento' => array(
            'columns' => array('numero_atual'),
            'refColumns' => array('numero_atual'),
            'refTableClass' => 'Application_Model_Andamentos',
            'onDelete' => self::CASCADE,
            'onUpdate' => self::RESTRICT
        )
    );    

这是引用流程状态的模型

class Application_Model_Andamentos extends Zend_Db_table {

    protected $_name = "processos_andamentos_judicial";
    protected $_referenceMap = array(
        'Andamento' => array(
            'refTableClass' => 'Application_Model_ProcessosJudicial',
            'refColumns' => array('numero_atual'),
            'columns' => array('numero_atual'),
            'onDelete' => self::CASCADE,
            'onUpdate' => self::RESTRICT
        )
    );

当我要删除一个进程时,它会返回给我

  

注意:第1197行的C:\ htdocs \ Advocacia \ library \ Zend \ Db \ Table \ Abstract.php中的未定义索引:numero_atual

它删除了进程,但所有进程的状态都保留在数据库上。

任何人都可以看到任何错误?

1 个答案:

答案 0 :(得分:0)

将numero_atual添加到primary,解决问题。

protected $_primary = array("id", "numero_atual");