2012-04-29 52 views
1

我有一個具有屬性「類別」的實體圖像。 Categories是Doctrine的ArrayCollection的一個實例,並擁有不同的Category對象。學說:通過數組中的屬性獲取實體

我現在想要獲取包含Category對象「main」的所有Image對象。

與正常性能,這看起來是這樣的:

$repository->findBy(array('category' => 'main')); 

這也可能與陣列性能還是我必須在類別方面,以獲取相關的圖片?

問候!

回答

1

->findBy()方法只適用於關係的擁有方。

你也可以在你的repostiory創建一個自定義的方法:

public function findByCategoryName($categoryName) 
{ 
    return $this 
     ->createQueryBuilder('image') 
     ->innerJoin('image.categories', 'category') 
     ->where('category.name = :categoryName') 
     ->setParameter('categoryName', $categoryName) 
     ->getQuery() 
     ->getResult() 
    ; 
} 
+0

嗨,你會自我堅持反演或擁有的一面呢?或者你會忽略一個ManyToMany類別<->圖像關係呢? – bodokaiser