0
저는 기본 Zend_Db_Table_Abstract를 사용하여 관계를 설정하고 있습니다. 이 내 모델입니다 :Zend CASCADE - 다자간 관계
Model_Table_Project :
protected $_name = 'projects';
protected $_dependentTables = array('Model_Table_ProjectStage');
protected $_referenceMap = array(
'User' => array(
'columns' => 'userId',
'refTableClass' => 'Model_Table_User',
'refColumns' => 'id'
)
);
public function deleteProject($id)
{
$row = $this->find($id)->current();
if ($row)
{
$row->delete();
}
else
{
throw new Zend_Exception('Cannot delete project.');
}
}
Model_Table_Stage :
protected $_name = 'stages';
protected $_dependentTables = array('Model_Table_ProjectStage');
Model_Table_ProjectStage : 지금은 deleteProject를 사용하여 프로젝트를 삭제하고자 할 때
protected $_name = 'projectstage';
protected $_referenceMap = array(
'Project' => array(
'columns' => 'projectId',
'refTableClass' => 'Model_Table_Project',
'refColumns' => 'id',
'onDelete' => self::CASCADE,
),
'Stage' => array(
'columns' => 'stageId',
'refTableClass' => 'Model_Table_Stage',
'refColumns' => 'id',
'onDelete' => self::CASCADE,
)
);
() 메소드를 Model_Table_Project에 추가하면 프로젝트 테이블과 엔트리가 삭제됩니다 ProjectStage 테이블에 있지만 Stage 테이블의 항목은 삭제되지 않습니다.
내가 뭘 잘못하고 있니?