2011-09-04 19 views
2

다음 예제에서는 $usergroup의 기본값을 1로 설정하고 싶습니다. Usergroup 개체를 예상하므로 분명히 1로 설정할 수 없습니다.Doctrine 엔티티가 다른 엔티티의 기본값으로 사용됨

/** 
* @var integer $usergroup 
* 
* @ORM\ManyToOne(targetEntity="Usergroup") 
*/ 
private $usergroup; 

id가 1 인 Usergroup 객체에 어떻게 든 설정할 수 있습니까? 아니면 실제로 객체를 유지할 때 처리해야합니까?

답변

5

새 YourEntity 인스턴스를 만드는 서비스가 있어야합니다. 서비스는 기본 그룹을 검색하는 방법 또는 기본 그룹에 대한 참조를 만드는 방법을 알고 엔터티의 생성자에 전달합니다. 예를 들어

:

class YourEntityService 
{ 
    ... 

    public function createNewYourEntity() 
    { 
     $defaultGroup = $this->em->getReference('Usergroup', 1); 
     return new YourEntity($defaultGroup); 
    } 

    ... 
} 
관련 문제