2017-11-17 1 views
1

내 생각에는 (희망) 이것은 매우 기본적인 대답하기 쉬운 질문입니다.오타 3 확장 : BE에서 레코드를 삭제하고 참조 된 모든 레코드를 자동으로 삭제 하시겠습니까?

내 확장 프로그램에서는 백엔드 사용자가 레코드를 만들고 삭제할 수 있습니다. 이 클래스 중 일부는 다른 클래스의 레코드/객체의 uid ('type'=> 'select'및 TCA 파일의 외부 테이블에 대한 액세스)를 통해 하나 이상의 속성을 정의합니다.

Are you sure you want to delete this record? "Test" 
[tx_icingaconfgen_domain_model_kunde:17] (There are 2 reference(s) to 
this record!) 

이 가능한 자동으로 참조 레코드를 삭제되어 그러한 기록의 삭제 한 나에게 경고 메시지를 제공?

만약 그렇다면, 특정 클래스에 대해서만 지정할 수 있습니까?

예 :

내가 가지고있는 수준의 서비스가 특정 "호스트"개체의 UID를 통해 호스트라는 속성을 정의

"호스트"와 "서비스"라는 클래스라는 클래스 ... . 특정 "호스트"개체/레코드를 삭제하면이 "호스트"개체를 자동으로 참조하는 모든 서비스 개체/레코드가 필요합니다.

하지만 : 특정 "서비스"개체를 삭제하면 "호스트"레코드가 삭제되지 않게하려면 "서비스"레코드 만 삭제하면됩니다.

내가 프론트 엔드를 통해이 작업을 수행 할 수 있다고 생각하지만, 백엔드를 통해이 작업을 수행 할 수 있어야합니다. 이것을 달성 할 수있는 방법이 있습니까?

답변

1

모델에 @cascade 주석을 하위 속성에 추가하십시오.

class OrderModel 
{ 
    /** 
    * @var OrderProducts 
    * @cascade 
    */ 
    protected $products 
} 
관련 문제