【发布时间】:2011-02-15 22:15:42
【问题描述】:
我正在使用 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
)
);
当我要删除一个进程时,它会返回给我
注意:未定义索引:C:\htdocs\Advocacia\library\Zend\Db\Table\Abstract.php 第 1197 行中的 numero_atual
它删除进程,但所有进程的状态都保留在数据库中。
任何人都可以看出有什么不对吗?
【问题讨论】:
-
你有关于 numero_atual 的索引吗?
-
ZF 1.10 不支持 PHP 4.3.. 你是说 PHP 5.3 吗?
-
您的
Application_Model_ProcessosJudicial类包含应仅在Application_Model_Andamentos类中的_referenceMap定义。这可能是您收到Undefined index警告的原因。 -
@Billy ONeal numero_atual 是两个数据库表中都存在的列@Stephen J. Fuhry 抱歉,它是 5.3
-
@Vika 我更改了 refTableClass 但是仍然没有删除与进程相关的所有进程状态
标签: zend-framework zend-db zend-db-table