Kohana 3.2 ORM에서 캐스케이드 삭제를위한 방법이 있습니까? 나는 kohana의 초보자이므로이 문제에 도움이 될 수 있습니까?Kohana ORM 캐스케이드 삭제
2
A
답변
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()
메서드를 재정 의하여 다음 캐스케이드 추가 삭제할 모델에서