액티비티와 BulleManager 두 엔티티가 있습니다. OneToMany - ManyToOne을 사용하여 서로 간의 관계를 유지합니다. 문제는 내가 BulleManager 엔티티의 행을 삭제할 때 Activities 엔티티의 관련 행이 삭제되고 그 동작이 내가 좋아하지 않는다는 것입니다. 소유 사이드 (BulleManager) 엔티티가 삭제 될 때 반대쪽 엔티티 (활동)에 "NULL"을 설정하기 만하면됩니다.Doctrine 심포니 OneToMany - ManyToOne 관계로 엔티티를 제거합니다.
class Activities
{
/**
* @ORM\ManyToOne(targetEntity="BulleManager",
cascade={"persist"}, inversedBy="activities")
* @ORM\JoinColumn(name="bulle_manager_id",
referencedColumnName="id", nullable=true, onDelete="SET NULL")
*/
protected $bulleManager;
...
}
class BulleManager
{
/**
* @ORM\OneToMany(targetEntity="Activities",
mappedBy="bulleManager", cascade={"remove"})
*/
private $activities;
}
귀하의 솔루션을 환영합니다.
투쟁은 내가 =이 { "제거"} BulleManager에서 폭포를 제거 할 때, 제거가에 영향을 미치지 않는다는 것입니다 BulleManager 엔터티에 대한 데이터베이스 (행이 삭제되지 않음). ** 참고 ** 나는 doctrine의 remove() 메소드를 사용하여 엔티티를 제거합니다. – Heri
아, 작동합니다. 실제로 문제는 계단식이나 관계에서 오는 것이 아니라 컨트롤러에서 코드하는 방식입니다. 어쨌든 답변 해 주셔서 감사합니다. – Heri
문제는 없습니다. 감사 –