2012-03-31 7 views
1

Ich habe folgende Repository:Lehre ein Objekt holt nicht direkt in Array

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(); 
} 

Wenn ich nun diese Repository-Methode verwenden, das Objekt innerhalb eines Arrays und ich muß es durch Foto $ zugreifen [0].

Ist es möglich, die direkte direkt abzurufen, wie es bei findOneBy() der Fall ist?

Mit besten Grüßen, bodo

Antwort

7

Sie können getSingleResult() verwenden. Auch check here für andere Optionen.

Edit:

Wenn Sie die NoResultException nicht fangen wollen, können Sie auch getOneOrNullResult() Methode verwenden.

+0

Das war, was ich gesucht habe, danke ya! – bodokaiser

+1

Nur darauf achten, dass immer ein Ergebnis erhalten wird. Eine Ausnahme wird ausgelöst, wenn keine Ergebnisse angezeigt werden. – Cerad

+2

@Cerad, rechts. Dies kann mit der 'getOneOrNullResult()' Methode vermieden werden. –

Verwandte Themen