0

こんにちは私はzendフレームワークを使用していますが、カスケードの削除に問題があります。

Zend dbテーブルにUserという2つのエンティティがあり、他の2つのエンティティ(2つのユーザーがいるため)がUserに接続されています

ユーザーは

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

他の1つは

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のオブジェクトで削除オプションを使用すると、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 に答える