プロキシ ドキュメントを永続化してフラッシュできるかどうか疑問に思っていました。
プロキシ ドキュメントを複製し (id パラメータをリセットするために __clone メソッドを実装することを忘れないでください)、永続化してフラッシュすると、それは挿入されますか?
このケースは、ドキュメントのコピーが必要な場合に発生する可能性があります。
文書例:
// User.php
class User
{
// @ReferenceOne(targetDocument="Group")
private $group;
}
// Group.php
class Group
{
public function __clone()
{
if ($this->id) {
$this->id = null;
}
}
//....
}
使用法:
$user = $dm->createQueryBuilder('User')->getQuery()->getSingleResult();
$group = $user->getGroup(); // $group is a proxy document
$newGroup = clone $group;
$dm->persist($newGroup);
$dm->flush();
これは悪い例かもしれませんが、これが可能かどうかを知るためのものです。
編集:同様のことをしたい人にとっては、直接は機能しませんが、「onFlush」イベントを使用して強制できます