내 교리 개체 내에서 다음과 같은 관계가 있습니다교리 2 : 복잡한 관계에 저장 엔티티
FavoriteRecipe
/**
* @ManyToOne(targetEntity="User", inversedBy="favoriteRecipes")
*/
private $user;
/**
* @ManyToOne(targetEntity="Recipe", inversedBy="favoriteRecipes")
*/
private $recipe;
레시피
/**
* @OneToMany(targetEntity="FavoriteRecipe", mappedBy="user")
*/
private $favoriteRecipes;
사용자
을내 컨트롤러 중 하나에서/**
* @OneToMany(targetEntity="FavoriteRecipe", mappedBy="user")
*/
private $favoriteRecipes;
나는 다음과 같은 코드가 있습니다
$favoriteRecipe = new \Entities\FavoriteRecipe();
$favoriteRecipe->setRecipe($recipe);
$favoriteRecipe->setUser($user);
$this->_em->persist($favoriteRecipe);
$this->_em->flush();
을하지만 이것은 다음과 같은 메시지와 함께 예외가 발생합니다 :
새로운 엔티티가 있던 관계를 통해 발견되었다 구성되지 않음 은 지속 작업을 계단식으로 연결합니다. 엔티티 \ 사용자 @ 00000000408bd010000000007cb1380e. 명시 적으로 새 엔터티 유지 또는 계단식 지속 작업 관계를 구성하십시오.
FavoriteRecipe
엔티티를 올바르게 만들고 저장할 수 있습니까?
측면으로 협회는 케스케이드 옵션을 추가합니까? 소유 측면 또는 반대 측면? – moteutsch
그것은 당신이 원하는 행동에 달려 있지만 상황에 반비례한다고 생각합니다. 나는 그것을 시험해보고 데이터베이스에서 어떤 일이 일어나는지 살펴볼 것이다. –
그리고 나는 "당신을 발견 한 것을 나누기 위해 여기로 돌아와"라고 덧붙일 것입니다. 사람들은 당신을 도왔습니다. 사람들을 돕는 것을 잊지 마십시오. :) – Ninj