0
を取得しなければならなかった:は、失敗した私は、このようなコードを持っており、それが動作しませんでした実際のオブジェクト
$em = $this->container->get('doctrine.orm.entity_manager');
$accountObj->setHasCheckpoint(1);
$em->flush();
と私は、次の操作を実行する必要がありました:
$em = $this->container->get('doctrine.orm.entity_manager');
$user = $em->getRepository('UserBundle:User')->findOneById($accountObj->getId());
$user->setHasCheckpoint(1);
$em->flush();
を取得してチェックポイントを設定する必要があります。どうしてこれなの? flush
メソッドが呼び出されたとき$em
から直接フェッチさ$user
異なり、エンティティマネージャによって accountObjはちょうど別の$entity->getUser();
の可能性のある重複した[全体の関連するオブジェクトを取得せずにDoctrine2エンティティプロパティを設定] (http://stackoverflow.com/questions/13007843/set-doctrine2-entity-property-without-retrieving-entire-associated-object) –