2013-02-21 5 views
0

안녕하세요 저는 Symfony2와 Doctrine을 사용하고 있습니다.doctrine 연관이있는 엔티티를 제거하십시오.

Product * ----------- 1 provider 

내가 공급자를 삭제하고 모든 뼈 제품을 공급 널 외부 키를 떠날 수있는 경우 :

나는 제품 엔티티와 다른 엔티티 제공자에게 있습니다.

result 
products provider: 
    product1 (id,name,desc,id_provider=null) 
    product2 (id,name,desc,id_provider=null) 
    product3 (id,name,desc,id_provider=null) 

나는 캐스케이드 제거를 보았다하지만이 일은 제품을 제거하고 내가 원하는 것이 아니다했습니다.

인사와 감사.

답변

0

onDelete: CASCADE 대신 JoinColumn에 onDelete: SET NULL을 사용해야합니다.

+0

답장을 보내 주셔서 감사합니다. 후안 소사, 코드 좀 써도 될까요? 인사. – faisbu

+0

엔티티 (yml, xml, php, annotations)를 정의하는 데 어떤 형식을 사용하고 있는지 알지 못하므로 어떤 코드도 넣을 수 없습니다. 그러나 Google에서 "doctrine onDelete set null"에 대한 빠른 검색은 단서를 제공합니다. –

+0

제대로 작동합니다. – faisbu

0

컨트롤러의 삭제 작업에서 공급자의 모든 가입 제품을 가져 와서 키를 null로 설정하십시오.

관련 문제