我正在开发一个使用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
它删除了进程,但所有进程的状态都保留在数据库上。
任何人都可以看到任何错误?
答案 0 :(得分:0)
将numero_atual添加到primary,解决问题。
protected $_primary = array("id", "numero_atual");