이것은 정말 단순한 것이어야하지만, 나는 그것을 이해할 수 없다. 심포니 폼 일대일 관계 DELETE
가 나는 아이 일대일 단방향 관계와 부모 엔티티를 가지고, 소유 측 인 부모 엔티티 : 는/**
* @ORM\OneToOne(targetEntity="Child", cascade={"persist", "remove"}, orphanRemoval=true)
* @ORM\JoinColumn(name="child_id", referencedColumnName="id")}
*/
protected $Child;
는 ChildType는이 양식은 ChildType 그것이 필요하지 않고 추가했지만, 일부 필수 필드 :
-
012하십시오
에서
모든 하위 필드가 비어 있으면 연결이 null로 유지되고 일부 관계 필드가 있어도 하위 관계에 대한 유효성 검사 제약 조건이 무시되고 자식 관계가 작성되지 않습니다.
자식 필드 중 일부가 채워지면 연결이 만들어지고 유효성 검사가 통과되면 Child 엔터티가 유지됩니다. 지금까지 예상 워킹으로
$builder->add('child', new ChildType(), [
'required' => false,
]);
는 문제가 없는지 조치를 생성
는 ..
가 데이터 세트 업데이트, 모든 것이 잘 만들 때와 똑같은 길을 간다. 완벽이제 하위 엔티티를 제거하려는 상황이 있습니다. 하위가 필요하지 않으므로 모든 하위 필드를 지우는 것만 큼 간단해야합니다. 그러나 모든 필드를 emty하는 것은 여전히 유효성 검사를 트리거하고 doctrine은 모든 NULL 필드와의 관계를 업데이트합니다.
내가 뭘하려 :
모든 필드가 null의 경우 교리가 관계를 삭제하기위한 preUpdate 리스너를 만들었습니다. 문제는 유효성 검사를 비활성화하지 않고도이 문제를 해결할 수 없다는 것입니다. 그래서 이것은 올바른 방법이 될 수 없습니다. 한 가지 방법은 모든 필드가 null이면 true를 반환하는 콜백 제약 조건을 사용하는 것이지만 모든 일대일의 경우에는 모든 속성 제약 조건을 쓸모 없게 만듭니다. 사실 질수 것은 ..
지금까지 지금, 어느 문서에서 아무것도, X 일대의 대량 사용 사례 ...
그것이 가능하지 무슨 단서는 어떻게 든 다른 유효성 검사 그룹을 사용하지합니다 또는 유효성 검사 안함 symfony 폼 내에서 PostSubmit 또는 모든 필드가 하위 엔티티에서 NULL 인 경우 유효성 검사를 사용하지 않는 다른 방법? 당신이 할 수있는