本文整理匯總了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;
}