서로 다른 연관이있는 User 클래스가 있습니다. 나는 새로운 관련 객체, AClass을 만들 때, 나는 다음을 수행 : 나는 YML 옵션 파일에서 옵션 cascade: ['persist']
을 사용했기 때문에ArrayCollection 내의 엔티티에서 수행 된 변경 사항을 업데이트하는 방법
$object = new AClass();
$user->addAClass($object);
$userManager->updateUser($user);
새로운 개체가 데이터베이스에 지속 (생성)됩니다. 내가 무효에 cascade: ['refresh']
을 제외한 모든 시도
$AClasses = $user->getAClasses();
foreach ($AClasses as $object) {
if ($object->hasCondition) {
$object->setProperty($value);
}
}
$userManager->updateUser($user);
: 내가 이해하지 못하는 것은, 내가 이런 일을했다면 (현명한 데이터베이스)를 업데이트하는 방법입니다.
정말 업데이트가 필요하지 않습니다. 모든 엔티티 관리자는 엔티티 관리자를 통해 관리되어야합니다. 간단한 $ em-> flush()로 인해 업데이트가 발생해야합니다. – Cerad
사용자 클래스에 FOSUB EntityManager를 사용합니다. 다른 두 관리자와 함께 할 수도 있지만,이 시점에서이 방법을 사용하여이를 달성하는 방법을 알고 싶습니다. – stevenll
두 개의 다른 엔티티 관리자를 사용하는 것은 아닙니다. 나는 당신의 코드가 엔티티 관리자가 플러시되는 동안 작동해야한다고 말하고있다. – Cerad