0

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

我在 Zend db 表中有两个实体,称为 User,另外两个(因为我有 2 个用户)连接到 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 数据库中也设置了删除级联以更安全,但它不起作用。

4

1 回答 1

0

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

protected $_dependentTables = array('Application_Model_DbTable_Cliente',
                                    'Application_Model_DbTable_Trainer');
于 2012-04-16T13:43:41.810 回答