PBR*_*PBR 7 doctrine repository symfony
作为Symfony2中与之间的区别新手和教义我挣扎(在自定义库类)getEntityManager()和getManager().
我知道getEntityManager()正在被弃用,但是如果我使用它getManager(),我会得到"未定义的方法'getManager'.方法名称必须以findBy或findOneBy开头!"
在我的课程中,以下代码有效:
public function haalidop($verbid)
{
return $this->getEntityManager()
->createQuery('SELECT p FROM myBundle:Verbs p WHERE p.verbid='.$verbid)
->getSingleResult();
}
Run Code Online (Sandbox Code Playgroud)
如果我改变(升级?)它像下面的代码,我得到错误...
public function haalidop($verbid)
{
return $this->getManager()
->createQuery('SELECT p FROM myBundle:Verbs p WHERE p.verbid='.$verbid)
->getSingleResult();
}
Run Code Online (Sandbox Code Playgroud)
有人在这里有任何建议吗?
Wou*_*r J 12
不推荐使用该getEntityManager方法Registry.因为你在一个存储库中,所以你扩展了注册表而不是注册表EntityRepository.该类只有一个getEntityManager方法,不推荐使用.
这种不一致的原因很简单:注册表也可以用于其他Doctrine库,就像它们的ODM一样.它们不使用名称"Entity",而是使用"Document".出于这个原因,使用getEntityManager对ODM没有多大意义,这就是为什么他们改变了getManager.
另一方面,EntityRepository它的名称已经告诉我们 - 特定于ORM,这意味着ODM用户没有混淆(他们使用另一个存储库类).
| 归档时间: |
|
| 查看次数: |
6517 次 |
| 最近记录: |