本文整理汇总了PHP中Doctrine\Bundle\DoctrineBundle\Registry::getEntityManagerForClass方法的典型用法代码示例。如果您正苦于以下问题:PHP Registry::getEntityManagerForClass方法的具体用法?PHP Registry::getEntityManagerForClass怎么用?PHP Registry::getEntityManagerForClass使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Doctrine\Bundle\DoctrineBundle\Registry
的用法示例。
在下文中一共展示了Registry::getEntityManagerForClass方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: findById
/**
* Layer to Doctrine find by id. Apply caching here.
*
* @param int $id
* @param mixed $eagerly, bool|array if array it must be a key, value format as "alias => property" of InstitutionMedicalCenter - ex: array('doctors' => 'a.doctors')
* @return InstitutionMedicalCenter
*/
public function findById($id, $eagerly = true)
{
if (is_array($eagerly)) {
$qb = $this->doctrine->getEntityManagerForClass('InstitutionBundle:InstitutionMedicalCenter')->createQueryBuilder();
$qb->select('a, ' . implode(', ', array_keys($eagerly)))->from('InstitutionBundle:InstitutionMedicalCenter', 'a');
foreach ($eagerly as $alias => $property) {
$qb->leftJoin($property, $alias);
}
$qb->where('a.id = :centerId')->setParameter('centerId', $id);
$result = $qb->getQuery()->getOneOrNullResult();
return $result;
}
if ($eagerly) {
$qb = $this->doctrine->getRepository('InstitutionBundle:InstitutionMedicalCenter')->getQueryBuilderForEagerlyLoadedMedicalCenter();
$qb->andWhere('imc.id = :id')->setParameter('id', $id);
$result = $qb->getQuery()->getOneOrNullResult();
} else {
$result = $this->doctrine->getRepository('InstitutionBundle:InstitutionMedicalCenter')->find($id);
}
return $result;
}