Доктрина 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(); 

Но это вызывает исключение со следующим сообщением:

Новый объект был найден через отношения, которые не были сконфигурированы для каскадных операций persist: Entities \ User @ 00000000408bd010000000007cb1380e. Явно сохраняйте новый объект или настройте каскадные операции persist в отношении.

Как я могу правильно создать и сохранить объект FavoriteRecipe ?

Вы задали параметр каскада для всех ваших реляционных объектов? Это делается путем установки свойства каскада для примера: cascade = {"persist", "remove"}

Возможно, эта страница: http://www.doctrine-project.org/docs/orm/2.0/en/reference/working-with-associations.html

Или эти видеоролики: http://www.zendcasts.com/many-to-many-with-doctrine-2/2011/03/ http://www.zendcasts.com/one-to-many-with-doctrine- 2/2011 / 03 /