2012-04-17 13 views
1

私はSymfony2プロジェクトの中のオブジェクトを持っています。ここでコードに従います。 名前空間Acme \ UserBundle \ Form \ Model;Symfony2ジェネリックオブジェクトからDoctrine EntityManagerを取得する方法

use Symfony\Component\Validator\Constraints as Assert; 
use Acme\UserBundle\Entity\User; 

class Registration 
{ 
    /** 
    * @Assert\Type(type="Acme\UserBundle\Entity\User") 
    */ 
    protected $user; 

    ... 

    public function setUser(User $user) 
    { 
     //Get the EntityManager here!!!! 
     $group = $em 
      ->getRepository('AcmeUserBundle:Group') 
      ->findOneByName('Customers'); 
     $this->user->addGroup($group); 
    } 
.... 

} 

ので、コードで強調されているように、教義を持つエンティティを取得するために、EntityManagerを取得する方法? ありがとうございます

答えて

0

OK、解決済み!

コントローラ内の登録クラスのコンストラクタにEntityManagerを渡すだけです。とにかくおかげさまでありがとうございます。

use Symfony\Component\Validator\Constraints as Assert; 
use Acme\UserBundle\Entity\User; 


class Registration 
{ 
    /** 
    * @Assert\Type(type="Acme\UserBundle\Entity\User") 
    */ 
    protected $user; 

    ... 

    protected $em;  

    public function __construct($em) { 
     $this->em = $em; 
    }  

    public function setUser(User $user) 
    { 
     $this->user = $user; 
     $group = $this->em->getRepository('AcmeUserBundle:Group') 
      ->findOneByName('Customers'); 
     $this->user->addGroup($group); 
    } 
... 
} 

とにかくありがとうございます。

関連する問題