Zend Framework删除级联

时间:2012-04-16 13:32:17

标签: zend-framework zend-db-table

您好我正在使用zend框架,我在删除级联时遇到了问题。

我在Zend数据库表中有两个实体,名为User,另外两个(因为我有2个tipe用户)连接到User

用户

class Application_Model_DbTable_User extends Zend_Db_Table_Abstract
{
protected $_name = 'user';
protected $_primary = 'username';    
protected $_dependentTables = array('Cliente','Trainer');
}

另一个是

class Application_Model_DbTable_Trainer extends Zend_Db_Table_Abstract{
protected $_name = 'trainer';
protected $_primary = 'idusername';

protected $_referenceMap = array(
    'Utente' => array(
        'columns' => array('idusername'), 
        'refTableClass' => 'user', 
        'refColumns' => array('username'),
        'onDelete' => self::CASCADE
    )
);

protected $_dependentTables = array('Trainermaster','Presenza','Uscita');}

当我在User的对象上使用delete选项时,Zend只删除User表中的用户而不删除Trainer表中的用户...

我在mysql数据库中也设置了删除级联,以便更安全,但它不起作用。

1 个答案:

答案 0 :(得分:0)

$ _ dependentTables必须引用您的类名,而不是数据库表名:

protected $_dependentTables = array('Application_Model_DbTable_Cliente',
                                    'Application_Model_DbTable_Trainer');