我有一个名为"投票"我需要在这个类中使用doctrine来执行一些操作,将这个类的值集成到EasyAdmin包显示列表中。
我在services.yml中有这个:
app.user:
class: AppBundle\Entity\Vote
calls:
- ['setMe', ["doctrine.orm.entity_manager"]]
这在我的班级中:
public function setMe($entityManager) {
$this->em = $entityManager;
}
但是从不调用setMe()(我使用xdebug)。
所以,我尝试过:
app.user:
class: AppBundle\Entity\Vote
calls:
- ['setMe', ["doctrine.orm.entity_manager"]]
arguments: ["@doctrine.orm.entity_manager"]
和
public function __construct(\Doctrine\ORM\EntityManager $em){
$this -> date = new \DateTime();
$this -> em = $em;
}
但结果相同:$ this-> em未设置。
我的错误在哪里?
答案 0 :(得分:0)
你(几乎)从不应该需要实体和实体中的实体经理不应该是服务,我认为。
但如果你真的需要它,你应该使用service container。如果您在控制器中调用$this->get('app.user');
,它应该返回Vote
实体。或者使用控制器注射。