4
엔티티의 저장소 내에서 주어진 id를 사용하지 않으면 주어진 id로 엔티티를 가져 오거나 새로운 엔티티를 만들고 싶습니다. 멀리. 내 솔루션은 ID가있는 새 엔터티를 만드는 것입니다. 가능하다면 반환하고, 그렇지 않다면 나는 excisting 것을로드하고 싶습니다. 매우 나쁘다. 그것은 가능하지 않다. 왜냐하면 entitymanager가 닫혀 있기 때문이다.zend framework 2 with doctrine, 예외로 닫힌 EntityManager를 다시 여는 방법
class TestRepository extends Repository {
// create a new entity or load the existing one
public function getEntity($pkey) {
$entity = new Entity($pkey); // create a new entity and set its id to $pkey
$this->getEntityManager()->persist($language);
try {
$this->getEntityManager()->flush(); // success if $pkey isn't used
} catch (DBALException $e) {
// this DBALException is catched correct
// fail - load the existing one
$entity = $this->find(array($pkey)); // another exception is thrown
// The EntityManager is closed.
}
return $entity;
}
}
어떻게 EntityManger를 다시 열 수 있습니까?
죄송합니다. 몇 가지 오타가 있습니다. $ language는 $ entity를 의미하고 find (array ($ pkey))는 find ($ pkey)를 의미합니다. – exoon