응용 프로그램은 Symfony2 및 Doctrine2를 기반으로합니다.Doctrine2 - 관련 항목이 삭제되었는지 확인 (단방향 관계)
단방향 관계 OneToMany가 있는데 관련 엔티티 항목이 삭제되면 참조 열은 삭제 된 항목을 가리 키도록 설정되어 있으며 이는 단방향 연결이기 때문에 올바른 동작입니다. 하지만 이것은 나뭇 가지 템플릿에서 문제를 일으키고 있습니다. 왜냐하면로드하려고 시도하면 오류 엔티티가 발견되지 않기 때문입니다. 나는 나뭇 가지를 확인하려했으나 정의되어 있지만 차이는 없었다. 관련 항목이 삭제되지 않았는지 확인하는 가장 좋은 방법은 무엇입니까?
엔티티 예 :
class Programme
{
...
/**
* @var string
*
* @ORM\ManyToOne(targetEntity="Form")
* @ORM\JoinColumn(name="form_id", referencedColumnName="id", nullable=true)
*/
private $form;
...
}
나뭇 가지 검사 :
{% if programme.form is defined %}
//always getting here
{% endif %}
나는 그것을 또한 시도했다. 그 문제는 연결된 레코드가 삭제 된 경우에도 해당 레코드에 대해 실제로 참조 된 ID를 사용할 수 있지만이를 확인하는 방법이라고 생각합니다. – trikess
참조 ID가 있는지 확인하려면 조건 ID가 있으면 내부로 이동하십시오. {{programme.form.feldName}}을 인쇄하십시오. 부모 행 삭제 삭제시 null을 설정하려면 엔티티 관계에서 OnDelete = "SET NULL"을 사용하십시오. 상위 행을 삭제할 때 해당 하위 행이 더 이상 필요하지 않으면 onDelete = "CASCADE"를 입력하십시오. 그러면 더 이상 템플릿 파일을 체크인 할 필요가 없습니다.:) – herr