我有一个来自Symfony2项目的对象。以下是代码。 命名空间Acme \ UserBundle \ Form \ Model;
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检索具有Doctrine的实体? 提前致谢
答案 0 :(得分:0)
好的,解决了!
我只需要将EntityManager传递给控制器中Registration类的构造函数。
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);
}
...
}
非常感谢。