私は私の教義エンティティ内の次の関係があります。ドクトリン2:複雑な関係で保存するエンティティ
FavoriteRecipe
/**
* @ManyToOne(targetEntity="User", inversedBy="favoriteRecipes")
*/
private $user;
/**
* @ManyToOne(targetEntity="Recipe", inversedBy="favoriteRecipes")
*/
private $recipe;
レシピ
/**
* @OneToMany(targetEntity="FavoriteRecipe", mappedBy="user")
*/
private $favoriteRecipes;
ユーザー
を$favoriteRecipe = new \Entities\FavoriteRecipe();
$favoriteRecipe->setRecipe($recipe);
$favoriteRecipe->setUser($user);
$this->_em->persist($favoriteRecipe);
$this->_em->flush();
しかし、これは、次のメッセージで例外をスロー:
新しいエンティティをした関係を通じて発見された私は、次のコードを持っている私のコントローラの一
/** * @OneToMany(targetEntity="FavoriteRecipe", mappedBy="user") */ private $favoriteRecipes;
コンフィグレーションされていません。 とカスケード永続操作: エンティティ\ユーザ@ 00000000408bd010000000007cb1380e。明示的に 新しいエンティティを保持するか、または の関係でカスケード永続操作を構成します。
FavoriteRecipe
エンティティを正しく作成して保存するにはどうすればよいですか?
の側には協会はカスケードオプションを追加しますか?所有側または逆側? – moteutsch
それはあなたが望む動作に依存しますが、あなたの状況で私は反対側と思います。私はそれを試して、データベースで何が起こっているかを見てみましょう。 –
そして、私は "あなたの所見をあなたと共有するためにここに戻ってきます"と付け加えます。人々はあなたを助け、人々を助けることを忘れないでください:) – Ninj