2012-03-31 22 views
1

我具有以下存储库:学说直接提取一个对象不是在阵列

public function findClassPhotoByPath($path) 
{ 
    return $this->getEntityManager() 
     ->createQuery('SELECT p FROM KSRGalleryBundle:Photo p WHERE p.category = :category AND p.path = :path') 
     ->setParameters(array('category' => 'class_photo', 'path' => $path)) 
     ->setMaxResults(1) 
     ->getResult(); 
} 

当我现在使用这种存储库方法的对象是一个数组内,我有通过$相片[0]来访问它。

是否有可能通过findOneBy()直接获取直接的情况?

最好的问候, 博多

回答

7

您可以使用getSingleResult()。其他选项也为check here

编辑:

如果你不想赶NoResultException你也可以使用getOneOrNullResult()方法。

+0

这就是我正在寻找的,谢谢你! – bodokaiser 2012-03-31 10:37:39

+1

只要小心总能获得一个结果。没有结果将抛出异常。 – Cerad 2012-03-31 13:03:24

+2

@Cerad,对。这可以使用'getOneOrNullResult()'方法来避免。 – 2012-03-31 19:05:58

相关问题