2010-01-26 3 views
0

실제 파일을 테이블의 행과 연결하고 싶습니다. 내 의도는 데이터베이스 habilities 테이블에서 참조하는 파일을 삭제할 수 있습니다. 예 :Doctrine의 행에 파일 링크하기

$ o = Doctrine :: getTable ('Document') -> find (12); $ o-> delete();

이 코드는 테이블의 행을 삭제합니다. $ o-> file_location에서 참조 된 hipotetical 파일을 삭제하고 싶습니다. 나는 이벤트 (preDelete, postDelete, preUpdate, postUpdate)로 시도하지만 작동하도록 만들 수는 없다.

+1

이벤트 처리 코드를 추가 할 수 있습니까? – Karsten

답변

0

파일의 연결을 해제 할 수 없습니까? 이 같은

:

$o = Doctrine::getTable('Document')->find(12); 
if(unlink($o->file_location)) 
{ 
    $o->delete(); 
} 
2

문서 모델에서이 같은 뭔가를 추가 :

class Document extends BaseDocument 
{ 
    ... 

    public function preDelete($event) 
    { 
     unlink($this->file_location); 
    } 

    ... 
} 

또한, 교리는 검색을위한 파일 Doctrine_Search_Files 클래스되는 인덱스 (의 디렉토리)가 있습니다. 어쩌면 거기서 영감을 얻을 수 있을까요?

+0

첫째, 내 질문에 대한 답변을 주셔서 감사합니다,하지만 난 당신의 코드가 작동하지 않는 것, 당신은 $ event-> getInvoker() 호출자를 얻을 필요가 있다고 생각합니다. 그리고 나는 레코드 후크 대신에 Record_Listener를 사용한다. – manolovn

관련 문제