2012-11-22 4 views

답변

2

나는 Kohana에 없기를 두려워합니다. 당신이 정말로 일을해야하는 경우 데이터베이스 수준에 그것을 적용해야 삭제를 캐스케이드 (ON DELETE CASCADE)

1

, 모델에 delete() 메소드를 오버라이드 (override) :

class Model_Alpha extends ORM 
{ 
    protected $_has_many = array(
    'beta' => array(
     'model' => 'beta', 
     'foreign_key' => 'alpha_id', 
    ), 
    'gamma' => array(
     'model' => 'gamma', 
     'foreign_key' => 'alpha_id', 
    ), 
); 

    function delete() 
    { 
    foreach($this->beta->find_all() as $entry) 
     $entry->delete(); 
    foreach($this->gamma->find_all() as $entry) 
     $entry->delete(); 
    parent::delete(); 
    } 
} 

을 당신 수있는 delete() 메서드를 재정 의하여 다음 캐스케이드 추가 삭제할 모델에서